Patch generated when setting equivalent valueType models

It seems like models with valueType: true are meant to be thought of like structs, and as such one would expect setting a valueTyped prop to a new model with the same prop values not to generate a patch, since the value has not really changed. But the following test fails:
import { model, Model, Patch, patchRecorder, prop } from 'mobx-keystone';

@model('app/CurrencyAmount')
class CurrencyAmount extends Model(
  {
    amount: prop<number>(),
    currency: prop<string>('USD')
  },
  { valueType: true }
) {}

@model('/app/TestContainer')
class TestContainer extends Model({
  balance: prop<CurrencyAmount>(() => new CurrencyAmount({ amount: 0, currency: 'USD' })).withSetter()
}) {}

describe('Patch generation', () => {
  it('should not emit a patch when assigning a valueType with equal values', () => {
    const container = new TestContainer({});
    let patchOccurred = false;
    const recorder = patchRecorder(container, {
      onPatches: (newPatches: Patch[], inversePatches: Patch[]) => {
        patchOccurred = true;
      }
    });

    container.setBalance(new CurrencyAmount({ amount: 0, currency: 'USD' }));
    expect(patchOccurred).toBe(false);
    recorder.dispose();
  });
});

This is problematic for diffing two snapshots - the diff shows erroneous non changes.
Looking at the stack, mobx-keystone generates a patch without comparing the props of the models. Wondering if there should be a special case test in the 'update' case of objectDidChange for models that have valueType: true?

Is this about the patches being generated by applySnapshot over another node being "do nothing" patches for value types?

Yes, exactly, that's the issue. They are do nothing patches, which would be confusing to users when presented as part of a diff. I can of course filter them out externally if necessary, but it seems like an upstream fix might be more suitable.

(They also add a little weight to the 'versioned models' in this app, where versions are implemented as a collection of patches with a base model)

I can make applySnapshot over valueTypes not generate patches if nothing change, but your unit test would still fail (since mobx-keystone assumes a value changed when you are assigning a whole new instance created via "new" to avoid expensive deep checking). Would that solve your issue?

That would be great! But I don't understand how that test (which was really only for debugging purposes) would then fail - wouldn't no patch be generated?

A patch is always generating when doing this:
prop x = new Model(...)

no matter its props
What I'll change is how value types behave. Right now they always generate a clone (new X...) before being assigned to a prop. What I'll change is that the clone will only be generated if the model has a previous parent. If it has no parent (such as the case when using applySnapshot) it won't use clone, therefore it won't internally use "new X..." and not assume it is a whole new model instance, so that it can be properly reconciled.

Should be now fixed in v0.69.1 (the applySnapshot case as discussed above)

Thanks, confirmed, that does fix my issue. Appreciate the quick turnaround!
Not critical, but when thinking of valueTypes like structs, it will still be slightly confusing if a patch is generated by assigning a new equivalent value (e.g. setting a point with the same x,y, or a new color with the same RGB value).
I understand the perf concern though, and maybe there's some other semantic integrity issue I'm missing, but I wonder if an identity comparison of the props would be worth it? (of course only for valueTypes)
Or maybe it's wrong to think of these like structs...


Integrate EasyJSON for Faster JSON Parsing

Integrate easyjson to improve JSON parsing performance by generating marshaling/unmarshaling code at compile time instead of using reflection.

Perhaps we should hold off on this as it feels like we're optimizing for performance too early. Maybe we can revisit this in the future when we see the need for a performance boost. Also, it seems EasyJSON's original repo is no longer actively maintained.
What do you think @lmmendes?

I agree, let's wait until we have the first release is out the door, and when that happens we should have a better understanding of the Golang ecosystem and can revisit this issue.


[Bug] Assertion error when running example on 2 nvidia rtx 4090

[rank1]: Traceback (most recent call last):
[rank1]:   File "/mnt/sdb/humannorm/launch.py", line 237, in <module>
[rank1]:     main(args, extras)
[rank1]:   File "/mnt/sdb/humannorm/launch.py", line 180, in main
[rank1]:     trainer.fit(system, datamodule=dm, ckpt_path=cfg.resume)
[rank1]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 538, in fit
[rank1]:     call._call_and_handle_interrupt(
[rank1]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/trainer/call.py", line 46, in _call_and_handle_interrupt
[rank1]:     return trainer.strategy.launcher.launch(trainer_fn, *args, trainer=trainer, **kwargs)
[rank1]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/strategies/launchers/subprocess_script.py", line 105, in launch
[rank1]:     return function(*args, **kwargs)
[rank1]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 574, in _fit_impl
[rank1]:     self._run(model, ckpt_path=ckpt_path)
[rank1]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 943, in _run
[rank1]:     call._call_setup_hook(self)  # allow user to set up LightningModule in accelerator environment
[rank1]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/trainer/call.py", line 102, in _call_setup_hook
[rank1]:     _call_lightning_datamodule_hook(trainer, "setup", stage=fn)
[rank1]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/trainer/call.py", line 189, in _call_lightning_datamodule_hook
[rank1]:     return fn(*args, **kwargs)
[rank1]:   File "/mnt/sdb/humannorm/threestudio/data/multiview.py", line 543, in setup
[rank1]:     self.val_dataset = MultiviewTestDataset(self.cfg, "val")
[rank1]:   File "/mnt/sdb/humannorm/threestudio/data/multiview.py", line 417, in __init__
[rank1]:     assert len(camera_dict["frames"]) == self.cfg.n_views
[rank1]: AssertionError
[rank0]: Traceback (most recent call last):
[rank0]:   File "/mnt/sdb/humannorm/launch.py", line 237, in <module>
[rank0]:     main(args, extras)
[rank0]:   File "/mnt/sdb/humannorm/launch.py", line 180, in main
[rank0]:     trainer.fit(system, datamodule=dm, ckpt_path=cfg.resume)
[rank0]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 538, in fit
[rank0]:     call._call_and_handle_interrupt(
[rank0]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/trainer/call.py", line 46, in _call_and_handle_interrupt
[rank0]:     return trainer.strategy.launcher.launch(trainer_fn, *args, trainer=trainer, **kwargs)
[rank0]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/strategies/launchers/subprocess_script.py", line 105, in launch
[rank0]:     return function(*args, **kwargs)
[rank0]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 574, in _fit_impl
[rank0]:     self._run(model, ckpt_path=ckpt_path)
[rank0]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 943, in _run
[rank0]:     call._call_setup_hook(self)  # allow user to set up LightningModule in accelerator environment
[rank0]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/trainer/call.py", line 102, in _call_setup_hook
[rank0]:     _call_lightning_datamodule_hook(trainer, "setup", stage=fn)
[rank0]:   File "/mnt/sdb/conda/envs/hunorm/lib/python3.9/site-packages/pytorch_lightning/trainer/call.py", line 189, in _call_lightning_datamodule_hook
[rank0]:     return fn(*args, **kwargs)
[rank0]:   File "/mnt/sdb/humannorm/threestudio/data/multiview.py", line 543, in setup
[rank0]:     self.val_dataset = MultiviewTestDataset(self.cfg, "val")
[rank0]:   File "/mnt/sdb/humannorm/threestudio/data/multiview.py", line 417, in __init__
[rank0]:     assert len(camera_dict["frames"]) == self.cfg.n_views
[rank0]: AssertionError

@xhuangcv


Thank you for making my kitchen converges so much faster

you saved my sanity.

You're welcome, but please don't open tickets like this :)


Revert "Fix limit must number by NEP-181"

Reverts near/near-wallet#1844
Reverting this as it causes issues with NFTs from Pluminite. Will have to be fixed before next production release. cc @zavodil

Great catch!
I redeployed the contract https://github.com/zavodil/pluminite-ui/commit/190781d90ba7775a55bd1a0cf2253ad43631380f  but we have to make a global fix since pluminite is a fork of nfr-simple https://github.com/near-apps/nft-market/blob/main/contracts/nft-simple/src/enumerable.rs#L82


Localised decimal separator

Use the system default decimal separator instead of the hardcoded ..

Currently, we are using commas and periods inconsistently across the app. The best way to solve this is, as suggested by @rcasula, to read the local of the user. However, in this early stage we could start with the English locale as default, using dot as decimal separator and comma as thousands separator.

I agree with @GBergatto since the app is in English I think we should stick with . for the decimals and , for the thousands

i'll take care of it

Hello everyone, short update from my task.
I changed the method "numToCurrency" in functions class so now it accept the locale as parameter.
Addictionally I added the flutter lib for string internationalizing(link below)  to support different languages.
I hope to close this task before the end next week
Internationalizing Flutter apps
https://docs.flutter.dev/ui/accessibility-and-internationalization/internationalization

Great! We'll wait for the PR then!

PR Opened sorry for delay!


(WIP) EncodingManager refactoring

This is a first sketch of a new approach to improve the flexibility for the edge property storage and it fixes #472, #728, #978 and probably some more issues.
Please do not look at the ugliness yet ;), just look at the FastestCarWeighting and how we fetch the values in the constructor that are necessary  in the calcWeight method, really easy and understandable:
double speed = edgeState.get(averageSpeed);

These values are composed upfront and are responsible just for a value (and optionally a reverse value), have a look into OSMReaderTest.testPropertyBasedEncodingManager for a complete test parsing an OSM file.
So all in all I was able to remove the necessity of the FlagEncoder classes. So just EncodingManager and a list of EncodedValue is necessary. And the best: this already works within the existing system and the new EncodingManager is compatible with the old.
I've created a EncodedValueFactory to create some default EncodedValues like maxspeed, surface, 'car access' etc so that useful Weightings can be created.
Further work items:

rename edge.getData to getValues?
use new EncodedValue classes in old FlagEncoder classes: DataFlagEncoder, CarFlagEncoder, ...
merge master into this branch
what to do with the unfavoredEdge used only in QueryGraph -> do we need a 0-bit EncodedValue used just as a 'marker'?
use two EncodedValues for shortcuts two (weight and access) in CHGraphImpl -> advantage would be that we would be able to store weight with higher precision
we could introduce a "reverse" EdgeExplorer or iter.setBaseNode(node, reverse=true) and then avoid the reverse parameter in Weighting.calcWeight as well as the if clauses to fetch e.g. the forward or the reverse speed. I.e. one edge is directed API-wise and undirected storage-wise. We should do this undirected vs. directed stuff in a later step, see also https://github.com/graphhopper/graphhopper/pull/1112#issuecomment-322522398
what to do if a reverse read-out of a oneway edge: exception vs. silently ok? how would we do the exception - via a new setting "read of default value results in exception" or somehow associating the access-EncodedValue with e.g. the max_speed-EncValue?
version of every EncodedValue to make loading graph more secure?
avoid Weighting.getFlagEncoder
replace AbstractFlagEncoder and FlagEncoder with something less ugly, separate turn and node flags (Profile == collection of EncodedValue or ComposedEncodedValues)
maybe rename all XY08 into XYOld or XY09 instead? Add a deprecation notice and removal with 1.x
remove all the TODOs and ugly hacks
copyProperties can be done via array copy and setting just the node indices afterwards
merge new EncodingManager with old
try a real world example and parse OSM with a car profile and query via the new weighting mechanism
use IntRefs instead of int flags
a directed DoubleProperty and BooleanProperty class that holds two values (one value for a direction) that can be easily 'reversed' -> ComposedEncodedValue holds multiple encoded values? support get and getReversed directly for every encodedValue?
OSMReader is currently doing duplicate work to calculate bits of one OSM way, instead it should calculate the bits once and just array copy to the other edges using edge.get&setData?
should we introduce a PropertyFilter so that a maxspeed is not parsed and calculated if the highway tag is not accepted ('rail')?
PathExtract should be more separated (call extract explicitly after calcPath and potentially rename calcPath to calcShortestPathTree)
move out EncodedValue.parse into something else to make support of non-OSM easier
InstructionAnnotation getAnnotation -> remove this or replace by a ComposedEncodedValue that can warn about private, tool, ferry or ford access?
we could store the distance as an EncodedValue
But in general we need length dependent mechanism somehow
reimplement the CarFlagEncoder as a ComposedEncodedValue?
separate TurnWeighting handling -> how to do  storage of OSM-node and OSM-relation information?

Wow, this change looks impressive! Thanks!
I haven't found the time to give this a full in-depth review yet, I only touched the tip of the iceberg so far. My main concern until now is the "ugliness" that you asked to ignore. I would prefer a way to get the state without provoking an exception.
I think using exceptions as a "if replacement" should be avoided if possible. If not then it is what it is :).

I think using exceptions as a "if replacement" should be avoided if possible.

Yes, of course. But if statements wouldn't make it more beautiful. We need a different solution, but I'll improve here only if I can solve the followings things before: 0. tuning everything a bit more 1. having a better API for some places (e.g. simple setüget using and 'reverse' stuff) and 2. trying to import a real data set to see if this is actually fast enough and we can model something more realistic.

We need a different solution, but I'll improve here only if I can solve the followings things before: 0. tuning everything a bit more 1. having a better API for some places (e.g. simple setüget using and 'reverse' stuff) and 2. trying to import a real data set to see if this is actually fast enough and we can model something more realistic.

Sounds good and makes sense. I just saw it when browsing through the code and thought I might add my two cents.

I was able to fix a few things (regarding highway filter and oneway storage) so that full Germany is now properly imported (in 6min) and possible to route via car. The following config.properties is necessary
graph.flag_encoders=car
prepare.ch.weightings=no
prepare.min_network_size=0
prepare.min_one_way_network_size=0

and the following parameters are necessary and currently no bidirectional algorithm will work:
vehicle=weighting&weighting=fastest2&algorithm=astar
Such an uni-dir route request from south to nord takes ~6sec. Not too bad. Only a smaller fraction (~25%) of astar.runAlgo seems to be related to the new 'dynamic' FastestCarWeighting which could be probably further reduced via reusing the IntsRef for the next edges.
Somehow the instructions have no street name associated. Will investigate.
The applyWayTags is currently very lightweight and accounts to 0% of CPU time in the profiler.

When working on "we could introduce a 'reverse' EdgeExplorer or iter.setBaseNode(node, reverse=true)" the problem is that e.g. for the LocationIndex we get EdgeIteratorStates from graph exploration where the direction does not really matter and the only thing that is required is that in at least one direction it should be accessible by a certain vehicle, so we have the DefaultEdgeFilter. But this would not be easy with the new EncodedValues if we do not allow to grab the 'forward' and the 'reverse' access EncodedValue at for one EdgeIteratoreState. So we could either allow edge.getReverse(access) or another way could be to create two EdgeIteratorStates and use them somehow in QueryResult.

So we could either allow edge.getReverse(access)

I decided for this way.
It seems that we can replace most occurrences long flags with IntsRef ints ... but then we stumble in a bigger problem when copying the IntsRef into another graph as we cannot easily 'reverse' the IntsRef in case the nodes A and B have opposite order in the target graph compared to the source graph. So we must either find a way to reverse the IntsRef (I dislike this: the storage should no longer know about these specifics!) or we must get rid of the assumption nodeA<nodeB and always read the position of the nodes first. In current master we can reverse the flags easily as we already have a reverse method necessary to iterate through an edge in a different order, which is now done via a reverse variable in graph delegated to the EncodedValue implementations.

we must get rid of the assumption nodeA<nodeB and always read the position of the nodes first

That was possible, will have to fix one single unit test. Performance seems also nearly uneffected (after a second run)

@boldtrn have commited a change that just compiles but does not work. Will try to make it working tomorrow or in the next days. What you could do already is a review and when most unit tests work doing a 'real' refactoring for the instructions code and the tunnel/bridge stuff. So that it uses the global EncodedValues and will work for all encoders.

We need to store the state of the EncodingManager and restore it without the need to configure it. In theory this is now simpler than before because we just store the name, bit size and type of the used EncodedValues instead of creating a custom FlagEncoderFactory and even someone without the code will be able to use the graph directly or can easier uprade GH or apply changes to some storage config!
The problem is that I would like to have this in the GraphHopperStorage, which is in core and there we currently use just the jackson annotations dependency. Therefore I'm currently thinking about putting the jackson-databind dependency plus just the GHJson implementation in yet another but independent module (maybe just as a provided dependency) or directly use it in the core module (except for the iOS port this should be no problem)

In a local trial I've moved the GHJson implementation into a separate module so that the dependency is reader-json -> core -> json. @boldtrn Do you think this would make sense?  See my comment above why I think this is unavoidable.
(Maybe we could get rid of reader-json afterwards. For Android we could exclude this dependency and use a gson one?)

For Android we could exclude the json-module dependency and use a gson one?

Maybe could decide one json library to avoid multiple dependencies.
i.e. having in all modules or other repositories either Jackson or Gson?
I think now there is Jackson everywhere.

Just thought if gson is bundled on Android already somehow, then we would not need an additional dependency.

In Android there is only the simple org.json package, Gson remains an external library.

Have pushed my work regarding the json module extraction. If you agree I would extract this change into a different PR and try to get rid of reader-json before.
Then, in this PR, we can use this "inject into graph"-approach or without injection and create a GHJson-object in the EncodingManager, so that it is not necessary to explicitly create it, but could be changed if required (like for iOS).

In a local trial I've moved the GHJson implementation into a separate module so that the dependency is reader-json -> core -> json (via jackson). @boldtrn Do you think this would make sense?

Yes I think this makes sense. Json is planned to become a key/core role in GraphHopper. Having a json module in the core makes sense to me.
When we think about the future, it might make sense to think about how we could allow different formats like yaml. If you look at other projects, a lot started with json and after some time also added yaml, just because writing yaml configurations is a lot more convenient. Maybe with this perspective in mind it would make sense to deserialize the GHJson into a "ConfigDataTransferObject", which might be just a Map<String,Object>, similar to what we would get from Jackson. But I feel like this might be too much right now, so maybe this would be something for a future change, once this PR is merged?
In addition to the above I also feel a bit uncertain if we really want to pass GHJson to low level classes like GraphHopperStorage. I think GraphHopperStorage should not know about json. Maybe we can handle the Json on the level of the "GraphHopper" class and not propagating it too deep into the lower level? WDYT?

a lot started with json and after some time also added yaml, just because writing yaml configurations is a lot more convenient.

This is just a config change in Jackson if you use databind.

I think GraphHopperStorage should not know about json. Maybe we can handle the Json on the level of the "GraphHopper" class and not propagating it too deep into the lower level?

This is possible but I'm not sure if necessary as we also know in the storage how to store edges and nodes, so why should we not able to store json properties without the help of others in the storage?

This is possible but I'm not sure if necessary as we also know in the storage how to store edges and nodes, so why should we not able to store json properties without the help of others in the storage?

Maybe I misinterpreted the idea here. I thought that the idea would be that the Storage would configure itself from the passed json. If it's only about storing a json file, then I don't see an issue.
I just pushed a change to this branch that enables the Elevation Interpolation (or at least the test for the Elevation Interpolation are succeeding :)). I had to change some minor things, where I am a bit unsure if you would like that, will add comments in the code.

I just pushed a change to this branch that enables the Elevation Interpolation

Cool :+1:

Maybe I misinterpreted the idea here. I thought that the idea would be that the Storage would configure itself from the passed json. If it's only about storing a json file, then I don't see an issue.

It is both: we load&store the json and we would configure the EncodingManager from this file.

How should we handle maximum values? For example think about the maxspeed. If the tag would contain a maxspeed of 1000 (see DataFlagEncoderTest#testLargeMaxspeed). I see three options:

throw an exception as we do right now (I don't really like this option)
handle it graceful in the EncodedValue:
Instead of:

if (value > maxValue * factor)
   throw new IllegalArgumentException(getName() + " value " + value + " too large for encoding. maxValue:" + maxValue * factor);

We could do:
if (value > maxValue * factor)
   value = maxValue * factor

Make it possible to retrieve the maxValue and decide per TagParser. We would therefore need a method to get the maxValue from the EncodedValue. For maxspeed we could for example fix the the value and log a warning. For something else we might want to thrown an exception, etc.

Make it possible to retrieve the maxValue and decide per TagParser

This would be my preferred choice, as otherwise the EncodedValue would do parts of the logic. Per default we should throw an exception.

We are currently looking into replacing our own edge information storages on OpenRouteService with this ansatz here. As we do have some rather spezialized storages (e.g. mountain bike trail difficulty or wheelchair), one key question is how easily these can be added to the new framework.
I guess it is not your intention to have all these niche storages in the core, so is there a way (or the intention to implement a way) to extend the existing encoders easily with subclasses or -methods?

one key question is how easily these can be added to the new framework

This should be really easy if the information is edge-based, if not let me know :)
The first step is: forget about FlagEncoders (at least in the first place as we do not need them anymore but they are still working). Instead think about EncodedValues that we can put&get into the storage with the help of the EncodingManager. So create your custom EncodedValue (potentially also with a TagParser) and add it to the EncodingManager:
encodingManager.add(tagParser or encodedValue).
Then use the encoded values in your custom Weighting e.g. see this. Then fetching and setting is easy:
edge.get(encValue) and edge.set(encValue, intVal)

As we do have some rather spezialized storages (e.g. mountain bike trail difficulty or wheelchair)

I think we could add also "special case"-EncodedValues to the core as we don't have to enable them but users could then configure their bike profile to consider this information. The main problem is how we structure these hundreds of different EncodedValues and parsers. Currently we have a single & huge TagParserFactory only, maybe we create different files or implement a service loader mechanism

Thanks for the reply. I suppose a service which runs through various specialized tagparsers would be a good idea. This way modular expansion of the storage is easier (I guess). We will start refactoring our stuff into this new logic. Do you have an estimate on the merge into master of a first version?

Do you have an estimate on the merge into master of a first version?

No, but it will be the next big one after the dropwizardification is merged. There are too many unresolved things: do we handle relation and node information similar and what about performance?

How should we handle Priorities? For example BikeFlagEncoderTest#testCalcPriority currently fails, because we now use the PriorityEncodedValue instead of FlagEncoder#getDouble, in FlagEncoder#getDouble we did priorityWayEncoder.getValue(flags) / BEST.getValue(). For now I set the factor of the DecimalEncodedValue to 1/Priority.Best, which works. Did you plan to do it differently?

I have not yet thought about priorities. But the storage layer should just store the value and not doing some normalization or similar. So storing this via priority/BEST might one way or to avoid thinking about this we might think about a normalization factor in the EncodedValue or a new EncodedValue class or something good :)

We at openrouteservice are looking forward to this pull request so we can adapt our code. We would like to help out to make these changes possible asap. Is there a part of the code you need help implementing @karussell @boldtrn ?

Great to hear this. My current 'internal' - probably confusing - TODO list is:

move a few things into separate PRs, like I've done with #1291 already
probably revert the PathExtract separation
think about how to solve the problem regarding too many EncodedValue parsers in one factory class
implement a similar mechanism for relation flags too (could also go into a separate PR). Same for node-based information
performance tuning, especially since the getData method creates new object. Instead we could create only one IntsRef per EdgeExplorer for traversal or even less.
should we keep FlagEncoders? We need to keep the concept of vehicle profiles but more like a simple list of EncodedValues and possible weightings and not as special classes. Not sure.
remaining issues at the top of this PR (only some of them are critical)
solve problem with two bits for access restriction versus speed==0 (probably also in a separate PR)
make all tests pass :)

(will update this list once I'll invest more time into this after we merge #1314 really soonish)

We would start working on

think about how to solve the problem regarding too many EncodedValue parsers in one factory class
In ORS, we solve this problem by employing one superclass that iterates over all (enabled) Parsers which are thematically structured. This means we have e.g. a parser for tollways, a parser for trail difficulty, a parser for hgv tags etc. It should then be possible to configure which attributes are enabled during preprocessing and query time. If this sounds reasonable to you @karussell , we will get going.

Sounds good. Do you have a pointer into this class?

Sure.
These are the different builders: Builders
They are employed via our custom ORSOSMReader  which in turn calls the Processingcontext, which is a custom class, where the processWay function calls the builders of all enabled processors.
Currently we have changed the normal OSMReader so that it contains an empty method onProcessWay that is extended in our custom ORSOSMReader. We would choose a similar approach where we employ the calls in the Reader?

I've rewritten the structure a bit. All TagParsers (though I have not added all yet) now reside in their respective own class: Tagparsers
The needed attributes (like surfaces list) are integrated to ensure good modularity. I did not
The TagParserFactory now does not define profiles anymore but only creates single modules. The overview over enabled parsers and the profile definitions are now inside encodingmanager via a simple list of which parsers should be enabled. The Encodingmanager also checks whether a parser has already been added and has methods to add bikeParsers, footParsers and carParsers. I don't really like putting the profiles in here, I think they should be moved to a different class or configuration file.
So far I find this structure much easier to understand and modify, but I wanted to get your opinion(s) before I continue further.

Now ỳou could remove most of the methods in TagParserFactory or maybe the whole class?
Yes, this is now mostly done. Entire thing is of course still a work in progress.

Is such a check necessary if we have the duplicate check for the EncodedValue objects already?
No, you are right.

I fixed some things and added most of the remaining parsers, except for a few where I was not yet sure how to handle it (namely SpatialRuleId). Cleaned up some of the files too. I will continue to work on this.

Hi @karussell , are there in principal different encoded values for all profiles, meaning e.g. bike and bike2 have different encodedValues for average_speed and access etc? Including different tag parsers?
Running into this problem while running the tests. One of them fails while trying to find the ev bike2.access for the Bike2WeightFlagEncoder.
If they are shared, there is a need to distinguish the parsers too, possibly without duplicating them.

If they are shared, there is a need to distinguish the parsers too, possibly without duplicating them

To make it backward compatible average_speed and access values cannot be shared, yes. E.g. bike2 modifies the speed due to elevation and racing bike is faster, but also access is different as mtb can use paths with a more difficult grade for example. Although I can imagine that making the access shared across bikes should be possible as one can use the Weighting to just avoid these paths (but the space requirement is very low and so this optimization should be done later)
In the future one could further try to calculate average_speed dynamically from other generic values but especially for non-CH use cases a precomputed value for both is faster while query.

I have not yet created all EncodedValues for all profiles, e.g. MotorcycleFlagEncoder. Therefore I have more failing tests than before (Without my changes its 142, with them its 216). I don't know when or if I will have the time to do add every remaining profile. Would you like me to stage a pull request anyway? Sorry for all the questions.

Therefore I have more failing tests than before (Without my changes its 142, with them its 216).

I'm not sure if I understand this but a PR will make it clear probably.

I don't know when or if I will have the time to do add every remaining profile.

Sure

Would you like me to stage a pull request anyway?

Yes, please. You can add [WIP]

Sorry for all the questions.

No need for that really :)

Hi,
any update on this so far?
Best, Hendrik

I'm currently in the process of defining what should go in this PR and what not.
Here are the main goals of this PR:

edge storage should allow more than 64bit
easier storing of edge properties
EncodingManager will be EncodedValues based
avoid reverseFlags

non-goals:

remove FlagEncoders
fix PathExtract
flexible storage for relation and node
solve problem with two bits for access restriction versus speed==0

And so I will remove the AccessValue refactoring and create a separate PR, see this separate branch: https://github.com/graphhopper/graphhopper/tree/access_refactoring
Furthermore the json refactoring won't happen in this PR: https://github.com/graphhopper/graphhopper/pull/1291#issuecomment-386907844 and we'll use a string based EncodedValue properties storage somehow.
Now I'll try to merge your PR and rebase the changes against the access_refactoring branch. As a first step after this bigger change I'll try to fix the performance problem (currently we are 2x slower) and in parallel we could work on making more tests green.

Currently osm tags are only processed before edges are created via parse(IntsRef ints, ReaderWay way). For some of our information we need a parser that is called after edge creation, such as parse(EdgeIteratorState edge, ReaderWay way).
Do you think we could include something like this in the osm reader after edge creation?
On a different node, the optimal case for us would be to have a possibility of defining TagParsers on the fly even from outside the graphhopper repo. This should be some sort of method like TagParserFactory.add(TagParser p) or equivalent in EncodingManager, so that we can maintain our own parsers. I think this would be optimal for other projects built on graphhopper too.

This PR is too big. I'll split it into separate ones:

access_refactoring
move from long to IntsRef and avoid that performance will suffer, maybe fetch ints for the whole edge at once
EncodingManager will be EncodedValues based and we avoid calling reverseFlags for every edge access

Closing in favor of #1447


Adopt existing NumPy test suites

We should at least pass the same tests that Numpy uses, potentially replicated at multiple scales. Some bugs only became visible when the array size is substantial.

The Python Array API test suite is also something to consider https://data-apis.org/array-api/latest/verification_test_suite.html.

The Python Array API test suite is also something to consider https://data-apis.org/array-api/latest/verification_test_suite.html.

Note that NumPy does not currently pass these tests since NEP 47 is still a draft.

CuPy includes a testing infrastructure for verifying compatibility with NumPy, that we could potentially borrow from: https://docs.cupy.dev/en/stable/reference/testing.html


add example for delete vertex with edge

add one config for write vertex with DELETE mode.
.withDeleteEdge(true)

the default value for withDeleteEdge is false. When config it as true, the related edges will be deleted too when delete vertex.  Refer to DELETE VERTEX

@randomJoe211 please add the config description in the doc.

Codecov Report

Merging #54 (82c2390) into master (f96b44f) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #54   +/-   ##
=========================================
  Coverage     74.09%   74.09%
  Complexity      153      153
=========================================
  Files            24       24
  Lines          1594     1594
  Branches        256      256
=========================================
  Hits           1181     1181
  Misses          266      266
  Partials        147      147

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


publishing config file is not like the documentation

fixed in https://github.com/mshamaseen/laravel-repositories/tree/1.1.4


TypeError: Cannot read property 'EventEmitter' of undefined typescript nodejs

I have a typescript application running on node.
I am using 'EventEmitter' class to emit a change in variable value.
This is my piece of code,
import events from 'events';

public async updateStream(streamContext: string, state: boolean): Promise<string> {
    const eventEmitter = new events.EventEmitter();
    if (state === true) {
      return StreamManagement.instance.activeStreams.get(streamContext).streamState = 'Paused';
    } else {
      const streamState = StreamManagement.instance.activeStreams.get(streamContext).streamState = 'Active';
      eventEmitter.emit('resume');
      return streamState;
    }
  }

 public async waitForStreamActive(stream: Stream) {
    const eventEmitter = new events.EventEmitter();
    // tslint:disable-next-line:no-unused-expression
    return new Promise(( resolve ) => {
      eventEmitter.on('resume', resolve );
    });
  }

This piece of code builds fine. But when i run the code, as in execute the operation, I am getting the following error,
error: errorHandler - Apply - Hit Unhandled exception {"timestamp":"2019-04-29T12:33:49.209Z"}
error: errorHandler - Apply - Cannot read property 'EventEmitter' of undefined - TypeError: Cannot read property 'EventEmitter' of undefined
    at StreamResource.updateStream (C:\Vertigo\core\reference_platform\dist\index.js:10695:51)
    at StreamService.patchStream (C:\Vertigo\core\reference_platform\dist\index.js:22524:40)
    at process._tickCallback (internal/process/next_tick.js:68:7) {"timestamp":"2019-04-29T12:33:49.215Z"}

What am I doing wrong?

This project is not the events module from node core.
That said, you probably want to do import {EventEmitter} from 'events'.


The calendar is not working- Please help me!

I copied and pasted the same HTML full code but the calendar is not working on my website.
Can you please help me?

What is the problem?

same problem, it is not working as given instructions in website.


Benign java.io.IOException from JGit on startup

Upgrading our Spring Cloud Config server from Spring Cloud 2020.0.3 to 2021.0.0 caused a seemingly benign error reported in the logs when deploying to kubernetes.
2022-01-03 20:04:02,892 [tributeWriter-2] ERROR org.eclipse.jgit.util.FS$FileStoreAttributes.saveToConfig - Cannot save config file 'FileBasedConfig[/.config/jgit/config]'
java.io.IOException: Creating directories for /.config/jgit failed
  at org.eclipse.jgit.util.FileUtils.mkdirs(FileUtils.java:412)
  at org.eclipse.jgit.internal.storage.file.LockFile.lock(LockFile.java:138)
  at org.eclipse.jgit.storage.file.FileBasedConfig.save(FileBasedConfig.java:219)
  at org.eclipse.jgit.util.FS$FileStoreAttributes.saveToConfig(FS.java:740)
  at org.eclipse.jgit.util.FS$FileStoreAttributes.lambda$4(FS.java:426)
  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
  at java.base/java.lang.Thread.run(Thread.java:829)

I found this stackoverflow describing the problem and solution.  I can add the XDG_CONFIG_HOME environment variable, however I think it would be great if a solution was provided in SCC.

Interesting, IDK what we can do about it as it appears to be something JGit is doing.
Does everything still work despite the exception?

Having found myself in the same situation, it would appear that everything is working as expected.

Thanks @mpkorstanje.  I will try and take a look at it, but it will be low priority since everything is working.

No problem!
I don't think this a problem for Spring to solve. It's up to the OS that runs the application to set XDG_CONFIG_HOME correctly.
In my case this variable was set correctly but the filesystem was mounted as read-only and do the user dit was not writable.
I'll file an issue with JGit to more gracefully handle read-only file systems.

Could you post a comment to the JGit issue here?

It already exists:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=560555

Thanks!

We probably need to document this

Hi @ryanjbaxter is this issue already documented? I'm running into a similar problem after upgrading my Spring Cloud Config Server to Spring Boot 3.3.3, Spring Cloud 2023.0.3, running on Java 21 and building my OCI image with Paketo Buildpacks.
Thanks in advance!

I just added a note to the docs


openai compatible API fails on other local interfaces

Is your feature request related to a problem? Please describe.
TabbyAPI and text-gen-webui are popular interfaces for run performant gpu quantizations, specifically the exl2 quantizations.
I tried running each, text-gen-webui with no API key, and tabbyAPI with its key.
I'm not able to see text-gen-webui models or get something working there, but for tabbyAPI I can see the available models, and can select the current one loaded. However, the response I get it always a single word:
https://imgur.com/a/9hjoRFh
Info
After login, go to Newchat > settings connections > show openai API http://<IP_ADDRESS>:5000/v1 & key
Standard cpu docker installation, then went to localhost:3000
tabbyAPI log: https://pastebin.com/KnBmZtp3
linux, Firefox browser

A

I'm just kidding 😂 That's strange, I'll take a look!

OpenAI API endpoint configurations need to have an API key or it won't activate.


Empty Button in Admin issue

Describe the bug
using wave extension we are getting 2 empty button errors. when we are inspecting them and fixing them , they are not getting fixed.
To Reproduce
Steps to reproduce the behavior:

Go to Admin ( http://localhost:9992/cm/app/?view=workflow&debug=true&pathType=unknown )
Run wave chrome extension
Go to details and see Errors

Expected behavior
There should be no Errors.
Additional context
This issue seems to be with some js file, which is generating html code dynamically. need to find the right js and see how to fix it.

This bug is related to the upper section of the UI in Admin screen, where we create Site, Asses etc. This upper section is hidden now in Admin.
So this bug is not valid now, hence closing it.


Allow using a custom WSDL file and config

We need a way to set our own WSDL file, since each client at Zuora has different fields and entities, and thus the generated WSDL file is different.

Good idea. We use only the latest version but this looks pretty good for backwards compatibility. Thanks for the contributions.


Rename "Filter content to "Hide content" in admin UI

Fixes https://github.com/creativecommons/cccatalog-api/issues/561

@kgodey i may be wrong but i think alden kept the db field name the same and just changed the name in the ui to 'Hide content'.

That's right

I thought you needed migrations for any changes in the models, not just DB changes. I might be wrong but it's worth running makemigrations to check.


Accept Bitcoin Donations

Create a bitcoin donation address!!

As far as I can see this pull request only places a place holder. I guess it's the authors own responsibility to choose their Bitcoin address and if they wish to receive donations or not. Maybe this should be an issue instead of a pull request?

@miohtama Seems to be that adding new issue is similar with pull request here.
Do they have any issue tracker page?

Sorry, but I've decided that I won't accept donations of any kind anymore.
@itsazzad:
Please see https://github.com/blueimp/jQuery-File-Upload#support


Add canned responses and conditions

Just putting this here for discussion.

(Apologies for the odd line selections, I'm not sure why my browser doesn't like multi-line selections.)
I really like this. There's going to be somewhat of a learning curve in that we'll have to look up the exact names for the responses, but once we're past that I think it's going to be much more readable and less error-prone. (I know at least for myself, reducing the number of times I have to type out boilerplate responses reduces the need for a reviewer to catch mistakes in the trigger body.)
I'm not particularly familiar with spread syntax, but I'm not seeing any issues with it here. It feels reasonable to implement defaults this way.

Ok, wrote some tests, and fixed some tests, and this should be good to go.  Any last comments?

Oh no, apparently ... does not seem to work inside an eval context, which is how all the triggers are loaded (right now, at least).
// ok
let x = {'a': 3, 'b': 4};
let y = {...x};
let x2 = eval("x = {'a': 3, 'b': 4}");

// not ok
let y2 = eval("{...x}");

Maybe something like caresAboutMagical, caresAboutPhysical, and caresAboutAOE? So we’re not tied to specific things

Maybe something like caresAboutMagical, caresAboutPhysical, and caresAboutAOE? So we’re not tied to specific things

Done.
I do wonder if this will get noisy, but it is what it is.
I guess we need to magical tankbusters (if we want people to addle them) to have sort of infoText-y warnings for non-tanks and non-healers, since casters probably don't want yellow TANK BUSTER alerts.

Looks like nobody else really has any thoughts here, so I'm going to land this.


BUG: .loc assignment of datetime with tz is coercing to naive

In [3]: idx = pd.date_range('20130101',periods=3,tz='US/Eastern')

In [4]: df = DataFrame({'A' : [1,2,3]})

In [5]: df['B'] = idx

In [6]: df.dtypes
Out[6]:
A                         int64
B    datetime64[ns, US/Eastern]
dtype: object

In [7]: df.loc[[True,False,True],'C'] = idx

In [8]: df
Out[8]:
   A                         B                   C
0  1 2013-01-01 00:00:00-05:00 2013-01-01 05:00:00
1  2 2013-01-02 00:00:00-05:00                 NaT
2  3 2013-01-03 00:00:00-05:00 2013-01-02 05:00:00

# C should be the same time zone
In [9]: df.dtypes
Out[9]:
A                         int64
B    datetime64[ns, US/Eastern]
C                datetime64[ns]
dtype: object

this is also realized to #11351 [4]

@jreback took a stab at the bug outlined above. However, I'm not sure what you mean by
this is also realized to #11351 [4]

The fix I've proposed here doesn't address the referenced bug (AttributeError: 'numpy.ndarray' object has no attribute 'tz_localize'). Is this sufficient fix for this issue or are you looking for a more general fix?

@taeold yes that is fine. These are independent, just linking them really.


[Bug] [Workflow] Failed to submit the workflow instance

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Master-server down, Failed to submit the workflow instance, will resend the workflow start event
What you expected to happen
Normal run.
How to reproduce
[ERROR] 2022-08-15 10:04:08.181 +0800 org.apache.dolphinscheduler.server.master.event.WorkflowStartEventHandler:[74] - [WorkflowInstance-0][TaskInstance-0] - Failed to submit the workflow instance, will resend the workflow start event: WorkflowEvent(workflowEventType=START_WORKFLOW, workflowInstanceId=1193)
[INFO] 2022-08-15 10:04:08.181 +0800 org.apache.dolphinscheduler.server.master.runner.WorkflowEventLooper:[79] - [WorkflowInstance-1193][TaskInstance-0] - Workflow event looper receive a workflow event: WorkflowEvent(workflowEventType=START_WORKFLOW, workflowInstanceId=1193), will handle this
[INFO] 2022-08-15 10:04:08.181 +0800 org.apache.dolphinscheduler.server.master.event.WorkflowEventQueue:[38] - [WorkflowInstance-0][TaskInstance-0] - Added workflow event to workflowEvent queue, event: WorkflowEvent(workflowEventType=START_WORKFLOW, workflowInstanceId=1193)
[INFO] 2022-08-15 10:04:08.181 +0800 org.apache.dolphinscheduler.server.master.event.WorkflowStartEventHandler:[54] - [WorkflowInstance-1193][TaskInstance-0] - Handle workflow start event, begin to start a workflow, event: WorkflowEvent(workflowEventType=START_WORKFLOW, workflowInstanceId=1193)
[ERROR] 2022-08-15 10:04:08.181 +0800 org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteRunnable:[688] - [WorkflowInstance-1194][TaskInstance-0] - Start workflow error
java.lang.NullPointerException: null
at org.apache.dolphinscheduler.dao.utils.DagHelper.parsePostNodes(DagHelper.java:301)
at org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteRunnable.submitPostNode(WorkflowExecuteRunnable.java:1257)
at org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteRunnable.call(WorkflowExecuteRunnable.java:682)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Anything else
No response
Version
3.0.0
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

This is caused by a NPE, could you please check if the data is right in DagHelper.parsePostNodes?

Like the dependent node problem, the deleted task depends on the upstream task, and when deleted, the upstream completes the complement operation.

A bit like the dependency node problem, the deleted task depends on the upstream task, and when deleted, the upstream completes the complement operation.

这个问题还没得到解决嘛 ？


EnsureCapacity should not have  if (newCapacity < min) newCapacity = min;

I think if (newCapacity < min) newCapacity = min; should be removed, I have added items to the full capacity of the list but never hit breakpoint on line newCapacity = min;, Can someone tell the purpose of this line as well?
        private void EnsureCapacity(int min) {
            if (_items.Length < min) {
                int newCapacity = _items.Length == 0? _defaultCapacity : _items.Length * 2;
                // Allow the list to grow to maximum possible capacity (~2G elements) before encountering overflow.
                // Note that this check works even when _items.Length overflowed thanks to the (uint) cast
                if ((uint)newCapacity > Array.MaxArrayLength) newCapacity = Array.MaxArrayLength;
                if (newCapacity < min) newCapacity = min;
                Capacity = newCapacity;
            }
        }

Without that line, the array would grow, but it would not honor min. For example, if you have a list with Capacity = Length = 4 and AddRange a collection with 6 items, removing that line would grow the list to 8, when it needs to grow to 10.
Note that the equivalent .Net 7 source contains a comment explaining this.


Consider adding a more intuitive container unit syntax

The current syntax:
padding-top: 10chpx;
padding-left: 10cwpx;

seems to be too confusing.
Wonder if the syntax could be more intuitive, like:
padding-top: [10ch]px;
padding-top: [10cw]px;

Seems like having container units which can produce values with different units is an unnecessary feature, considering the confusion it can cause.
Problem is that "ch" is already reserved by CSS.
Maybe introducing an escape mechanism could work:
"10\ch" => "10ch"
"10ch" => "20px"

I'll go with rh, rw, rmin, rmax where "r" means "relative to the container".
An escaping solution would be too hacky, and goes against an already established standard.

Done in 2.0.0


WIP: granted: init at 0.4.0

Description of changes

Yet another aws helper cli. The killer feature - it supports opening multiple tabs with different accounts.
More details
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

What's the status on this one - is it still considered WIP? - it seems to build fine on darwin-x86_64. 0.4.2 is out now though.

@martinjlowm I didn't manage to make it work properly (at least the initial version).. :shrug:
PS: Just noticed the conflict and apparently granted has been added to nixpkgs already :wink: @ivankovnatsky :+1:

I have no clue how I missed that on the unstable channel :eyes: - sounds great!

@martinjlowm though take note, that granted nix pkg might be broken as of now, they have updated the code, probably their shell scripts as well, and references between them. I could have guaranteed package when I packaged it, but it's not stable as of now. I'm using aws-sso currently.

Noted - they do offer GRANTED_ALIAS_CONFIGURED=true, perhaps that may help.


resize subscription form on small screens

I think the problem still persists.

The problem still persists.

@collinskasyoki Mine seems to be working well now. Are you sure you're on this branch?

Seems ok on my side.


typing letter and invalid numbers on the timepicker

There is no way to validate this and set the directive to a bad state so that forms can prevent post?
it would also be nice to add a property to the directive to set readonly-input=true on the time witget and the date widget, that way the user can't mess up the values while its broken. but they can still use the mouse

A form that contains the datetime element is marked as invalid in this case, see http://plnkr.co/edit/zJOc40?p=preview


Remove hardcoded URLs from populate functions

At the moment there's quite a few hard coded URLs for the example data in the code. These should be removed and read from somewhere.

Any suggestion on ways to read it? One way could be use of yaml files

Would like some more details on specific cases if we were able to resolve this? If we don't have any to hand then I suggest this issue should be closed.


Button Hover effect added .

Agr vai

nice :)

https://github.com/amohata007/Hacktoberfest
contribute here


Add support for Webpack & Rollup Tree-shaking

This PR adds support for tree-shaking by building an alternative version which uses ES modules rather than CommonJS ones, inside es.
This version will be loaded by bundlers that support the module or jsnext:main package.json fields (only webpack & rollup afaik), other bundlers and runtimes will fallback to the CommonJS version (inside lib).
This PR is an alternative to PR https://github.com/jayphelps/core-decorators.js/pull/93, as it also updates babel to version 6. Other dependencies have also been updated but that can be reverted if requested as it is out of scope for this PR.

This is AWESOME! Thank you!! 🎉

Released in v0.17.0


Debugging metric aggregation

Hi!
I've an issue with a sum metric aggregation. My goal is to alert when a specific threshold is exceeded over a 24 hour period.
config.yaml:
run_every:
  minutes: 5
buffer_time:
  minutes: 10

metric_aggregation_test.yaml:
type: metric_aggregation
metric_agg_key: bytes
metric_agg_type: sum
#Alerting treshold set to 100GB
max_threshold:<PHONE_NUMBER>00
doc_type: doc
buffer_time:
  hours: 24
query_key: "node.keyword"
aggregation:
  schedule: '5 8 * * *'
summary_table_fields: [node.keyword,bytes_sum]
alert_text_type: aggregation_summary_only

My issue is that I don't get the same result when I'm checking the aggregation in Kibana.
I'm not entirely sure what's happening when I'm getting these entries in the elastalert_stderr.log.

INFO:elastalert:Metric aggregation test from 2018-10-24 14:55 UTC to 2018-10-25 11:35 UTC: 0 query hits (0 already seen), 0 matches, 0 alerts sent
INFO:elastalert:Metric aggregation test from 2018-10-24 14:55 UTC to 2018-10-25 11:40 UTC: 0 query hits (0 already seen), 0 matches, 0 alerts sent
INFO:elastalert:Metric aggregation test from 2018-10-24 14:55 UTC to 2018-10-25 11:45 UTC: 0 query hits (0 already seen), 0 matches, 0 alerts sent
INFO:elastalert:Metric aggregation test from 2018-10-24 14:55 UTC to 2018-10-25 11:50 UTC: 0 query hits (0 already seen), 0 matches, 0 alerts sent
INFO:elastalert:Metric aggregation test from 2018-10-24 14:55 UTC to 2018-10-25 11:55 UTC: 0 query hits (0 already seen), 0 matches, 0 alerts sent
INFO:elastalert:Metric aggregation test from 2018-10-24 14:55 UTC to 2018-10-25 12:00 UTC: 0 query hits (0 already seen), 0 matches, 0 alerts sent

I get about the half of the actual results I should see. Could you please help me how can I check what's happening? I have couple thousand nodes and need to see why there are missing ones.
Thank you!
Yvorl

You could try using -es_debug_trace trace.log to get the actual queries being made. This will let you manually reproduce it and see if something is off. If the queries themselves return what you expect but the behavior of elastalert is not right, we can continue from there.
If you'd like to add some debugging statements into the python to print out verbose results of the aggregation queries, I'm happy to send a diff.

Thank you!
I tried running debug with a shorter timeframe, in that case, I only saw a query for the elastalert_status index. When I ran the debug for more than one day, I got the query I was looking for.
However:

I don't know or can't reproduce what's happening when I have the run_every set to 5 minutes. When does it run the query against the index? There isn't any "INFO:elastalert:Queried rule ..." in the elastalert_stderr.log.
When I run the query from the debug trace, I get 50 nodes, but in the daily alert, there are around 24. Is there a(ny) way to change the size value? I think this number may have to do something with the discrepancy I see.
By default Kibana visualization order the results by the sum value, which isn't a big issue in the alert but it seems, that it affects the result set. I got different result set when running queries with or without that.

ordering sample:
      "aggs": {
        "bytes_sum": {
          "sum": {
            "field": "bytes"
          }
        }
      },
      "terms": {
        "field": "node.keyword",
        "size": 50,
        "order": {
          "bytes_sum": "desc"
        }
      }

If EA was started at 11:00 UTC, the schedule is to 8:00 UTC, and the buffer is 24h, will I the query timeframe set to 8:00-8:00?
Lastly, really minor thing, but is there a way to set the query size to '0' if I'm not interested in any hits only the result?

For me, it seems that EA queries the TOP 50 node in each run (5 min) without any ordering and aggregates the data every 24 hours. Because of this I get partial results. Is there a way around this?


Add stargazers endpoint to Tentacat.User.Starring

Relates to #191

Coverage increased (+0.02%) to 92.284% when pulling 54d29d12cd4ba188305ecfbc3290a92ab64504ee on vermaxik:extend_starring_with_stargazers into 19a09076f1bf2c3d5a65c2916b6ddc668c560970 on edgurgel:master.


Version 1.0.1

Codecov Report

Merging #11 into master will decrease coverage by 40.00%.
The diff coverage is 60.00%.

@@             Coverage Diff              @@
##            master      #11       +/-   ##
============================================
- Coverage   100.00%   60.00%   -40.00%
============================================
  Files            1        1
  Lines            4       25       +21
  Branches         1        6        +5
============================================
+ Hits             4       15       +11
- Misses           0        5        +5
- Partials         0        5        +5

Flag
Coverage Δ

#unittests
60.00% <60.00%> (-40.00%)
:arrow_down:

Impacted Files
Coverage Δ

...torybook/src/AwesomeTextInput/AwesomeTextInput.tsx
60.00% <60.00%> (ø)

Continue to review full report at Codecov.

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


Strange link behaviour of python docs on Safari

Describe the annoyance
https://github.com/rerun-io/rerun/assets/49431240/0392db00-620b-4e4a-8fd0-9f2a7aebb989
Regardless of which link is clicked in the (e.g.) transforms table, log_rigid3 is displayed. The links are correct. The behaviour is correct on Chrome.

Seems like this is somewhere between fixed and fixable with a workaround: https://github.com/squidfunk/mkdocs-material/issues/3797


How to start/stop transactions for multiple connectors using startTransaction and stopTransaction

Hey @matth-x!
When starting a transaction from the CMS using remoteStartTransaction there is an option to select the connecorId on which we want the transaction to run. However, if I have to start or stop transactions from within the charger using startTransaction and stopTransaction, there is no parameter to specify the connectorId.
I tried starting transactions using different idTags, but it says "Transacation already in progress. Must call stopTransaction()".
Could you please guide me how this can be done?
Much thanks!

Found out that instead of using startTransaction and stopTransaction, beginTransaction and endTransaction are to be used for starting and stopping transactions for multiple connectors. The latter two functions have a paramter connectorId which helps direct a transaction to a specific connector.


Failed to mount CTRAND. Cant access hourglass9/decrypt9wip/godmode

After installed arm9loaderhax i went on to config luma, saved and that screen appeared. Press any button and it will shutdown, turn on and it still at that screen, i cant even go to hourglass9 or others files in payloads folder by using button combination.

Did you rename the payload files correctly?
Did you make sure they are in the payloads folder?
Did you make sure the payloads folder is named correctly?

I'm sure those you listed. Found the issue and fixed, done hax!


Page Not Found

We've recently reorganised the website and some old links may no longer be working correctly. If you think there is an issue within our website, please report it using the issue tracker or submit a patch. Please try searching for the page you are looking for:

And what page you have accessed? No one can guess it.

Without knowing what page 404'ed, I can't fix it ;-)


Provide beter errors for Ecto.Type.cast

This fixes #2746
Checking if this is the right approach. If it is, then I'll clean it up, update the documentation,...
Feedback is very welcome, because I've got no idea if this is the way you would solve it.

Thanks @tcoopman! Note that we also need a test for what happens when you declare the type to be {:array, CustomError} and {:map, CustomError}. I think you will have to do some changes in Ecto.Type for this to work. I think we will have to drop the information that you return today and make the whole array/map as invalid (without information of its inner contents).

@josevalim do we need to make similar changes to load and dump callbacks? I don't think we do as we don't use them for errors, but just double-checking.

@wojtekmach i don't think so, yeah.

We should probably change the behavior as well to indicate this new return format: https://github.com/elixir-ecto/ecto/blob/master/lib/ecto/type.ex#L648

Thanks @tcoopman! Note that we also need a test for what happens when you declare the type to be {:array, CustomError} and {:map, CustomError} and you pass a list/map with an invalid entry. I think you will have to do some changes in Ecto.Type for this to work. I think we will have to drop the information that you return today and make the whole array/map as invalid (without information of its inner contents).

So you mean a test like this:
 defmodule Ecto.ChangesetTest do
     schema "custom_error" do
       field :custom_error, CustomError
       field :custom_error_2, CustomError2
+      field :array_custom_error, {:array, CustomError}
     end
   end

@@ -269,6 +270,15 @@ defmodule Ecto.ChangesetTest do
     refute changeset.valid?
   end

+  test "cast/4: field has a custom invalid error message on an array field" do
+    params = %{"array_custom_error" => [:error]}
+    struct = %CustomErrorTest{}
+
+    changeset = cast(struct, params, ~w(array_custom_error)a)
+    assert changeset.errors == [array_custom_error: {"is invalid", [type: Ecto.ChangesetTest.CustomError, validation: :cast, reason: :foobar]}]
+    refute changeset.valid?
+  end

Should the error be changed to note that it is an error in an array?

@tcoopman I don't think we should propagate the internal error, because it can get very confusing. So I would suggest this:
assert changeset.errors == [array_custom_error: {"is invalid", [type: {:array, Ecto.ChangesetTest.CustomError}, validation: :cast]}]

assert changeset.errors == [array_custom_error: {"is invalid", [type: {:array, Ecto.ChangesetTest.CustomError}, validation: :cast]}]

I've changed this and erased the custom error in Ecto.Type.
I've also started to add some documentation. Not sure if the style is correct though.

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


Issues running Azure IoT SDK for C on Ubuntu 14.04 (kernel 142)

Hello:
Just want to report some issues:

I had a partial failure running the samples "simplesample_mqtt" (in serializer) and "iothub_ll_telemetry_sample" (in iothub_client); they ran once and then stopped but did not exit, had to use Ctrl-C. (only tried these ones)
Before running the samples and building the SDK I had run setup.sh from .../azure-iot-sdk-c/build_all/linux.
The issue #1 above happened when I cloned the SDK from github. I also installed using apt-get but could not figure out a way to access the "c" source files to make changes (just to add the device connecting string to azure iothub)

Extra info: I had the same exact behavior running the cloned SKD samples on my Raspberry Pi 3; I was able to successfully ran the SDK for Raspberry sample after many tries (but still with an error that does not stop the program from running).
Cheers, handcyclist

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

ID: e6c3553f-2073-38e0-4a93-7aaf483ce66c
Version Independent ID: 8354a3d4-2117-5948-a6eb-72a09d48eed7
Content
Content Source
Service: iot-hub

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Added support for call activity

Added support for call activity resource.

2.0.0 release of gem makes this PR moot.


caddy: properly handle http to https redirect

For ubuntu, debian and other repos that 1. with GPG key 2. minimal distribution doesn't support https, we could disable http to https redirect. For main page and other sites, enable https redirections.
This issue should be solved without breaking file server. (e.g. ubuntu -> ubuntu/ and hyperlinks under ubuntu/)

I'm working on this in #23 .


Upgrade go 1.19 on midstream.

Signed-off-by: xuezhaojun<EMAIL_ADDRESS>

Code coverage will done in the following sprints and should not be a block. Force merged.


The spacing is different after rendering the rectangle in the canvas

Describe the bug
If the size of the rectangles in the canvas is odd then there is no problem, if the spacing of the rectangles is even then there is a problem

To Reproduce
AvaloniaApplication3.zip
Expected behavior
No response
Avalonia version
11.0.10
OS
Windows
Additional context
No response

UseLayoutRounding = false
issue was settled


Webview with Post data

Add webview with post data feature

Hi @ravitejaavv
I see there's an open issue addressing the case you described.
Please follow up on https://github.com/flutter/flutter/issues/27730
I'm closing the current one as duplicate.
If you disagree please write in the comments and I will reopen it.
Thank you


Tailwindformat

Updated format details
#263
#261
#260
#235
#218

You can visit http://localhost:3000/testing to preview the layout for the homepage. This is a test frontend page that I am currently using. https://github.com/xyvora/achievaim/pull/274/commits/b4cd7e2f427a90021b762453a919529615917008

I also fixed the overlapping in this commit: https://github.com/xyvora/achievaim/pull/274/commits/a5ad413dc79e81a02679d5ab8d6f2de42c7e8521


tl.broadcast bug?

GPU: A6000
Version: 2.1.0 (nightly build)
TLDR:
Broadcasting a vector to the shape of a 2D matrix and then multiplying them produces wrong results.
Details:
In the minimal reproducible kernel below I store the output of tl.broadcast_to to a tensor T and on inspection of v and T the output is clearly wrong.
import torch
import triton
import triton.language as tl

@triton.jit
def vector_matrix_rowmul(X, V, Y, T, N: tl.constexpr, d: tl.constexpr):

    pid = tl.program_id(0)

    # load X
    X_block_ptr = tl.make_block_ptr(base=X, shape=(N, d), strides=(d, 1),
                                    offsets=(0, 0), block_shape=(N, d),
                                    order=(1, 0))

    x = tl.load(X_block_ptr)

    # load V
    V_block_ptr = tl.make_block_ptr(base=V, shape=(N), strides=(1), offsets=(0),
                                    block_shape=(N,), order=(0))

    v = tl.load(V_block_ptr)

    z = tl.view(v, (N, 1))
    t = tl.broadcast_to(z, (N, d))

    # store t to T to check broadcast's output
    T_block_ptr = tl.make_block_ptr(base=T, shape=(N, d), strides=(d, 1),
                                    offsets=(0, 0), block_shape=(N, d),
                                    order=(1, 0))
    tl.store(T_block_ptr, t)

    y = t * x

    # store result
    Y_block_ptr = tl.make_block_ptr(base=Y, shape=(N, d), strides=(d, 1),
                                    offsets=(0, 0), block_shape=(N, d),
                                    order=(1, 0))
    tl.store(Y_block_ptr, y)

if __name__ == '__main__':

    torch.manual_seed(42)
    N = 32
    d = 16
    Q = torch.randn(N, d).contiguous().cuda()
    v = torch.randn(N).contiguous().cuda()

    # PyTorch
    O_pyt = torch.reshape(v, (N, 1)) * Q

    # Triton
    O_triton = torch.zeros_like(Q)
    T = torch.zeros_like(Q)
    grid = (1,)
    vector_matrix_rowmul[grid](Q, v, O_triton, T, N, d)

    isclose = torch.allclose(O_pyt, O_triton, atol=1e-3)
    print(f"is close: {isclose}")

    print('done')

I am also confused by why implicit and explicit broadcast are broken but reshaping using mytensor[:, None] works correctly. See the code snippet below.
v = tl.load(V_block_ptr)
z = tl.view(v, (N, 1))
t = tl.broadcast_to(z, (N, d))

# correct
y = v[:, None] * x

# incorrect
# y = t * x

# incorrect
# y = z * x

From tl.view's docstring (emphasis mine):

Returns a tensor with the same elements as input but a different shape.
The order of the elements may not be preserved.

To preserve ordering you should use indexing with None as your example shows, or equivalently use  tl.expand_dim.
IMO tl.view should probably be renamed since its behavior is so different from torch.view.

Didn't pay attention to that. Just assumed it has same semantics as torch view.
Yes indeed the name should be changed.

The tl.broadcast_to is still broken I think:
For some vector v of shape [N, 1]:

I get this matrix as the output after tl.broadcast_to(v, (N, d)

Each row should be the same value repeated, right?

Maybe this problem is fixed? I build from source to install triton.


Category: Investing / Finance

https://www.rescoop.eu/  - they would be a  good resource for the projects that people who don't live in the community can invest in- so usually there is a hierarchy where if you own property in the community you have a right of first refusal to invest in the RE project.  then the circle widens if there is still space for investments-  obviously these are long term investments and every area operates it in different ways ...
https://www.nextenergysolarfund.com/regulatory-news/ - investing in solar projects, one in UK https://www.edie.net/news/10/UK-s-largest-subsidy-free-solar-farm-powers-up/

Abundance has a very expensive Sipp pension though. I've struggled to find a greenish pension provider with reasonable rates. I found matterpension.com and it's slightly cheaper. I've also used trine.com once before. PensionBee offer an ESG pension but I dug deeper and found that the 'esg' portfolio includes Shell & BP...

BlackRock sustainable fund https://www.blackrock.com/institutions/en-gb/solutions/sustainable-investing

https://goodmoneyweek.com/ - generally interesting and general public facing info
Some good tools:

https://www.fundecomarket.co.uk/ - think this is for everyone

https://www.ethicalscreening.co.uk/ - this is also for various categories of those interested in investment. financial advisors can do this but maybe not private investor angle

There’s a lot of different types of “ethical” style investing and the terminology gets pretty confusing. There’s a bit of a breakdown on it on the last website I linked.
Here is one company I find really interesting as only Positive Impact portfolio range
https://eqinvestors.co.uk/individuals/invest/portfolios/positive-impact/
the Liontrust Sustainable Future fund range and Royal London sustainable, BMO do some as well…

Shares of renewable projects https://www.thriverenewables.co.uk/

https://www.hl.co.uk/funds/research-and-news/fund-sectors/responsible-investing

Done! Thanks everyone. https://protect.earth/finance/


Fixed #15 and #22

@softvar I forgot to pull your changes before. You might need to update the builds again. I did not update the version, because you might want to fix things first before you release.

@softvar is there anything needed for you to accept the PR?


AzurePowerShellV4 task temp files not properly cleaned up

Note
Issues in this repo are for tracking bugs, feature requests and questions for the tasks in this repo
For a list:
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
If you have an issue or request for the Azure Pipelines service, use developer community instead:
https://developercommunity.visualstudio.com/spaces/21/index.html )
Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Bug
Enter Task Name: AzurePowerShellV4
Environment

Server - Azure Pipelines or TFS on-premises? Both

Agent - Hosted or Private: Both

Issue Description
The AzurePowerShellV4 task has a small security bug where the script that is executed is not property cleaned up.  Though the risk is rather limited, it does have the potential for information leakage as the script will likely contain sensitive information.
Task logs
N/A
Troubleshooting
N/A
Error logs
N/A

@rreichel3 AzurePowerShell task (any version) does not clean up the temp files. The temp files are created in the agent temp directory. The agent then itself cleans up the temp directory after job is completed.
Please check if you are experiencing the same behavior with the normal PowerShell task as well. Also, please let us know the agent version that you are on.

Please reopen if the issue persists.

Can you please reopen this? It is an existing issue that has been verified and reported by @vtbassmatt

Reopened. Apologies for closing it before. Somehow I missed the referenced PR.

@rreichel3 I am unable to reproduce this. Also, it is not the job of the task to clear the agent temp directory. Agent clears it's temp directory itself.

The agent will certainly try, but it would be a good practice to also delete known secrets. What if the agent crashes before it gets to the cleanup step?

@rajatagrawal-dev  can you please look into @vtbassmatt  suggestions.

@vtbassmatt The agent runs as a service and restarts even if it crashes. Any following job run will clean up temp directory.
This is by design so that not every task has the responsibility of cleaning up its temp files and its handled by the agent at job completion;


How to add a new package for texLiveAggregationFun

I'd like to have latex-preview in my texLive environment.

I have an auctex-build, which creates proper looking
/nix/store/csijwf01grvjndbwciclkbwvml1qvlv3-auctex-11.88/share/texmf-dist/tex/latex/preview/preview.sty

I add that derivation into texLiveAggregationFun paths

Yet, contents of texmf-dist from auctex is not linked into resulting TeXLive-linkdir.

How should one make an extension package compatible with texLiveAggregationFun?

It seems to be that texmf-dist must be at the root of derivation output directory.


A complete counted words list for the whole work

This tab delimited text file should be useful for proof reading.
coverdale.words.count.txt
Letter case is preserved.
The analysis excludes:

The header element
All XML tags
All punctuation except for the hyphen/minus

Words include:

XML entity & replaced by &
Numbers in Roman numerals

If like me you'd find it useful to paste the file into Excel™, first insert a typewriter apostrophe just before the words true and false (whatever  case) so that they do not become Booleans.
Use Data | Filter | Autofilter to explore the list.
e.g. Look for the hapax legomena, etc.

There may be other shortened words in the work.
e.g. Was wt actually wͭ short for what ?

Since uploading, I tweaked my filter to also first remove (Omitted Text).
If we eventually place anything else inside a note element, we can review the filter further.

The number of different "words" is 18690.
A search in the words list for the following regexp patterns may prove to be interesting:

[aeiou][mn][dt] which gave 973 matches
[aeiou][mn]$ which gave 1275 matches

Words near to some of these finds may be candidates for a vowel with a macron if [mn] is missing.

There are 52 matches to the whole word yt which are probably improperly transcribed instances of yͭ.

<verse osisID="Gen.42.27"> ut whan one opened his sacke ...

Looks like capital B is missing from the start of the verse.

        <verse osisID="2Kgs.9.36"> nd they came agayne and broughte him worde. He saide: This is euen it that the <divineName>LORDE</divineName> spake by his seruaunt Elias the Tishbite, and sayde: In the felde of Iesrael shal the dogges eate Iesabels flesh.
        <verse osisID="Mark.2.27"> nd he sayde vnto them: The Sabbath was made for mans sake, and not man for the Sabbathes sake.

Looks like a is missing from the start of these two verses.

Another shortened word may be:
00598	yi

which was probably yͥ meaning thy in modern English.

Here''s another counted words list. This is of the first word in each verse.
coverdale.first.words.count.txt
It's how I came across the words with the first letter missing. May there be others that I've missed?

Absalon is an actual typo in the source scans.
wt is wͭ, which seems to mean "with" in the text.
I think have addressed most of the things you mentioned in my latest push.

Further to your commit of 4 February 2018, I have rerun the TextPipe filter to output the counted words list.
coverdale.words.count.txt
This should help in detecting words with unexpected spellings. e.g.
00001	danghter

looks like a typo for daughter.

Updated again after your commit that fixed ye in numerous places.
coverdale.words.count.txt

The words list illustrates the possibility that further vowels may have the macron missing. e.g.
00003	ignorauce
00019	ignoraunce
00016	ignoraunt
00005	ignorauntly
00006	ignoraut

I rather suspect that the first and last of these may have had a macron over the letter u.
The list should be throughly analysed for similar groups of words.


Content-Length request header missing

Hi,
We began noticing that, after an hour two of consistent (correct) behavior, POST requests begin returning 400's (and never recover). After investigation, we noticed that these requests were missing their Content-Length header. Here is the verbose output for a successful request followed by the output for a failed request:
Success:
Hostname was found in DNS cache
  Trying xxxxx...
Connected to xxx.default.svc.cluster.local () port 80 (#203)
POST /messages/send HTTP/1.1
Host: xxx.default.svc.cluster.local
Accept: */*
User-Agent: Typhoeus - https://github.com/typhoeus/typhoeus
Content-Type: application/json
Content-Length: 1265
Transfer-Encoding: identity

upload completely sent off: 1265 out of 1265 bytes
HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Content-Length: 2

Closing connection 203

Failed:
Hostname was NOT found in DNS cache
Connected to xxx.default.svc.cluster.local (xxx) port 80 (#2)
  Trying <IP_ADDRESS>...
POST /messages/send HTTP/1.1
Host: xx.default.svc.cluster.local
Accept: */*
User-Agent: Typhoeus - https://github.com/typhoeus/typhoeus
Content-Type: application/json
Transfer-Encoding: identity

HTTP/1.1 400 Bad Request
Content-Type: text/html;charset=utf-8
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Content-Length: 24

Closing connection 2

Via debugging, I have confirmed that the request.encoded_body always exists, even in the case of a missing Content-Length header.
I've also tried:

setting content length header explicitly
adding Transfer-Encoding: identity and Expect: '' headers
adding forbid_reuse: true option

Also note, Net/HTTP does not have this issue indicating it's not a networking issue.
We are running in GKE, with Rails v4.2.6 and ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux] on the base Rails image with curl 7.38.0 (x86_64-pc-linux-gnu) libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3 librtmp/2.3 and Typhoeus version 1.1.2.

@i0rek any thoughts here?  Unfortunately because of this bug we're having to factor Typhoeus out of our project. :(

@aaronkrolik thanks for reporting. @bkoski I am sorry that this issue prevents you from using Typhoeus.
At the moment I don't have time to investigate issues. I am trying however to keep up with PRs.

I am having this issue too, @bkoski did you ever figure this out?


Error during conformal prediction -- cannot reshape array

Getting ValueError: cannot reshape array of size 65 into shape (3,1,24) with PredictionIntervals(n_windows=3, window_size=24). This is happening with only some datasets. Is this due to CV results not having enough datapoints ?

Hi. Yes, this means that you have series with length less than 24 * 3, so in some fold there are less series used to train (and predict). I'll try to make this error show up sooner.

I believe this was fixed with #160, which helps detect this issue sooner. Feel free to reopen if you feel it's not solved.


Two different P106 properties in ecrm

ecrm contains two properties with code P106:

ecrm:P106_has_component
ecrm:P106_is_composed_of

We suspect that the latter should be ecrm:P106i_is_composed_of.
Pierre is going to open an issue to erlangen.

done: https://github.com/erlangen-crm/ecrm/issues/1

@pasqLisena Can you  study the new efrbroo version and, if successful, base DOREMUS on this version? See also this comment

Yes, I check it now.

can we close this issue ?

Clearly not, since the DOREMUS ontology still imports the old version of efrbroo.

There is a new version which you can try out : efrbroo_20160715.owl
CIDOC CRM doesn't like constraints, they may want a "weaker" version, without the chain properties, in which case there would be 2 versions, one "strong", one "weak".

There is a new version which you can try out : efrbroo_20160715.owl

This is what I wrote in my comment

CIDOC CRM doesn't like constraints

What does this mean concretely in the OWL/RDF semantics? Adding axioms in OWL/RDF has not for purpose of constraining the usage of classes and properties (since it adopts the Open World assumption) but to enable inferences, i.e. to infer additional types using the axioms

CIDOC CRM prefers a weaker version (yet to be published), so depending on our needs we can use either version.


Fix broken URL in CONTRIBUTING.md

Signed-off-by: nyechiel<EMAIL_ADDRESS>

This was superseded by https://github.com/submariner-io/enhancements/pull/17.


SHA256 mismatch when installing new version via Homebrew

I triggered a new build with version 0.3.14 as I wasn't able to install a new version of my package with homebrew.
I am now running into the following error when running brew upgrade:
Error: SHA256 mismatch
Expected: fa9c3240a704b320ed11170de1c1dcc43478e65b700d530d5c2c947d5f42f067
  Actual: e149124b7bdcbb54c7c4105734829fecbc32f31d8586097e7457878ac1403a76

The Actual value of the SHA256 doesn't match though with any of the generated SHA values of dotnet-releaser, neither before nor after this specific build, as can be seen in this commit
Do you have any idea what could be happening here?
Thanks in advance again!

Weird, I tried on grpc-curl today and it worked. I will investigate tomorrow

I verified on my own project and the hash is correct but From your logs, it seems that these packages were already published with that tag, so the 2nd time they were not uploaded, but the formula was updated.
Republishing a same version is not supported. You would have to remove the uploaded files in your release manually and retrigger a publish

I verified on my own project and the hash is correct but From your logs, it seems that these packages were already published with that tag, so the 2nd time they were not uploaded, but the formula was updated. Republishing a same version is not supported. You would have to remove the uploaded files in your release manually and retrigger a publish

What is weird though, is that the hashes from the initial publish don't match either to the ones that homebrew expects.
I will try out what happens when I remove the uploaded files in my release and report back.

Works perfectly after removing the files and re-running the job.


could you release seg2face training model for test?

Hi, could you release seg2face training model for test?

Hi, thanks for your interest!
Yes, we plan to release the seg2face model soon.

Hi. Any update? Thanks.


Printing pipeline version number with CLI usage

We should find a way to have the CLI usage print out the version number too. Currently isn't a way to add to the config file to do this. An issue from hippunfold: https://github.com/khanlab/hippunfold/issues/67

The snakebids version, or the app version?

App version
On Wed., Dec. 1, 2021, 4:14 p.m. Peter Van Dyken, @.***>
wrote:

The snakebids version, or the app version?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/akhanf/snakebids/issues/85#issuecomment-984060486,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACXV2XPDD4WGTBDGCOL4ZK3UO2F37ANCNFSM5JDGKNHQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Game CTD even when the console is set to FALSE in the .json

i've cheked the plenty of "solutions" of this same error, adding the .asi in the global file of RTSS, or even starting msi afterburner after the loading on the  HDD  was done.
And even after crashing in these 2 events, i went and  set the console in the .json file to False
Lo and behold the game still CTD.
Any news on this  ?
I'm on 1.06

I see you commented 2 hours before latest release was published.
Latest release should fix issues with RTSS, as long as you have that Global profile template tweak you mentioned applied, it should work now.

Game CTD at which point? Note that the game itself is still very unstable and crashy depending on your HW setup.

I think the guy just went away...
It works with RTSS with 0 issues when using the config tweak now, working on making it not needed that tweak.
@yamashi I think we can close this.


Unreachable control flow causes shader not to render

[Shaders, screenshots, error log, reproduction steps, platform info, etc.] [ZIP]
Variant correct:

Variant:
![incorrect image](https://github.com/mc-imperial/shader-compiler-bugs/raw/master/AMD-R9-Fury-Windows10/wrong_images/large-v440-028011ce6441692b_inv_variant_63_2/variant_incorrect.png"incorrect image")
Both shaders write red to gl_FragColor, then have some further unreachable code. In the case of variant_incorrect.frag, we observe a green colour as output. The launcher we used initially sets the buffer colour to green. This indicates that the discard statement is actually executed.
We have also obtained the Fiji ISA (corresponding to the R9 Fury GPU) via the Radeon GPU Analyzer tool. We observe that lines 15 in the two files are performing opposite comparisons.

This issue is a further investigation of #7. It has also been reported to AMD via email, which have confirmed an issue exists.

Driver version 17.6.2 on Windows 10 64, bit


Use "fix" instead of "chore" when upgrading production dependencies

If you're using Conventional Commits/Semantic Releases, you'd want Dependabot PRs for your production dependencies to use the type fix so that a new release can be triggered. chore won't trigger a new release, so it's only suitable for development dependencies.

By default dependabot will look at the commit history and figure out what prefix folks use, but you can tell it which one to use using the config file as well: https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#commit-message
Lmk if that doesn't resolve your issue, but I think it should so I'll close this out 😄

Thanks @jurre! Unfortunately, that's not working for me.
Here's an example where I set commit-message in the Dependabot config: https://github.com/relaycorp/awala-gateway-desktop/commit/bd5746bc4fad26d1f02a0334cd1cbe120cd375cc
And here's a PR Dependabot created afterwards: https://github.com/relaycorp/awala-gateway-desktop/pull/961
You'll notice that the new PR is still using chore.
The weird thing is that Dependabot is certainly detecting prod vs dev dependencies, because it's marking the scope as either deps or deps-dev.

Looks like the new config had not been picked up by Dependabot, most likely due to yesterdays AWS outage :( I have resynchronized them and I can see they're now set correctly. Lmk if it works on new commits!

Thanks @jurre! Everything works now as expected 🚀


Limit access to logged in user

Hi there,
Do you have an idea to limit the submission to logged in users? For example to submit, you have to register.
Thanks

There are many ways you could do this. On the client, you might want to hide the submit button if there isn't a current user. Securing it on the server would depend on what your form is doing and how it is doing it. If you're submitting to a method, throw an error at the top of the method if this.userId isn't set. If form is directly inserting or updating, then use a deny rule that prevents the action when userId isn't set.


WIP: modularize bcsd

Still needs:

clarification on how to do temperature variables
unit tests
tools for applying anomalies to randomly selected obs

The latest commit reflects the changes @andywood and I discussed earlier today and a few unit tests using random data. I am now starting to test with real datasets.


Rails 3.2.18 - > Rails 4.0.13 + fix spec failures (DO NOT MERGE)

Changes involved with upgrading Rails 3.2.18 -> 4.0.13 ...
Each commit is targeted to a certain type of Rails upgrade change.  Check the commit log to see the rationale for each.  I will comment within the PR as well when something is uncertain or extra notable.
The PRs will be chained, one into another so that we can more easily keep track of which changes we are making and why.
We will never merge them back into master, because we'll just copy the final branch over to the ensemble repo and, then either delete this repo or, keep it as documentation for a while.

@prakash-alpine: Good news!
I got the app to boot in Rails 4.0.13 and ran all the specs.
There are only 56 failing specs and 131 unique locations that are throwing errors or deprecation notices.  I'm kind of amazed.
I created a checklist to track my fixing them, here: https://gist.github.com/kevin-alpine/ff6273df97c88a4c207f
My plan is now:

Work through that checklist.
Then turn to the Rails guide, hunting for more changes that aren't noisy: http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0

Kevin:
This is awesome. I quickly glanced at the gist page.  There are few categories of errors that can be handled with minor changes (i hope).
Prakash

On May 12, 2015, at 8:55 PM, kevin-alpine<EMAIL_ADDRESS>wrote:
@prakash-alpine https://github.com/prakash-alpine: Good news!
I got the app to boot in Rails 4.0.13 and ran all the specs.
There are only 56 failing specs and 131 unique locations that are throwing errors or deprecation notices. I'm kind of amazed.
I created a checklist to track my fixing them, here: https://gist.github.com/kevin-alpine/ff6273df97c88a4c207f https://gist.github.com/kevin-alpine/ff6273df97c88a4c207f
My plan is now:
Work through that checklist.
Then turn to the Rails guide, hunting for more changes that aren't noisy: http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0 http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0
—
Reply to this email directly or view it on GitHub https://github.com/kevin-alpine/chorus-models-upgrade/pull/2#issuecomment-101471925.

This is done, besides for two spec failures:

OpenSSL::Cipher::CipherError: pad block corrupted

Very mysterious.  The thing is, it also happens when I run the specs in the main chorus repo.  I wonder if it has something to do with my machine's JRuby.  I would be interested to know if it's reproducible on another machine:
  1-6) DataSourceAccount validations credentials_are_valid validates the credentials are valid
     Failure/Error: account.should have_error_on(:base).with_message(:INVALID_PASSWORD)
     OpenSSL::Cipher::CipherError:
       pad block corrupted
     # ./app/services/chorus_encryptor.rb:29:in `do_cipher'
     # ./app/services/chorus_encryptor.rb:18:in `decrypt_cipher'
     # ./app/services/chorus_encryptor.rb:8:in `decrypt_password'
     # ./app/models/data_source_account.rb:47:in `credentials_are_valid'
     # ./spec/support/error_message_matcher.rb:11:in `(root)'
     # ./spec/models/data_source_account_spec.rb:26:in `(root)'

This one will probably be easy, I just want to figure out the situation with Solr before fixing it:

  7) EventPresenter#to_hash Note event with a workfile image attachment contains the images icon url
     Failure/Error: hash[:attachments][0][:version_info][:icon_url].should =~ /\/workfile_versions\/.*image\?style=icon/
       expected: /\/workfile_versions\/.*image\?style=icon/
            got: "/workfile_versions/1000016/image%3Fstyle=icon?1430330084" (using =~)
       Diff:
       @@ -1,2 +1,2 @@
       -/\/workfile_versions\/.*image\?style=icon/
       +"/workfile_versions/1000016/image%3Fstyle=icon?1430330084"

     # ./spec/presenters/event_presenter_spec.rb:177:in `(root)'

Also, I have not looked through the Rails upgrade guides yet.

I marked two areas of specs as pending, for now:
  GpdbDatasetColumn#simplified_type Is it ok to ignore changes to how Postgresql driver uses the simplifies_type method?
    # No reason given
    # ./spec/models/gpdb_dataset_column_spec.rb:142

  Workspace associations
    # KT: upgraded shoulda-matcher syntax potentially depends on RSpec 3 ...
    # ./spec/models/workspace_spec.rb:34


Update to 1.2.0-RC Raise DSL

This PR updates the rules to also check for Raise, I ran into some issues _detektEffect since it's now a _typealias_ and since it's asuspend lambda` it seems all information about the typealias get completely erased.
At least I could not find any reference to it when debugging the rules.

Awesome, thank you for the help @diastremskii ❤