Symbol autocasting flag enum

One of the main features of symbols is the ability to auto cast into an enum member.  However symbol auto casting does not currently support flag enums when more than 1 member is used.  E.g.
@[Flags]
enum Foo
  One
  Two
end

pp Foo::One | Foo::Two # => One | Two
pp :two | :one         # => Error: undefined method '|' for Symbol

I propose to expand the autocasting functionality to also support multiple members.  This will ultimately need to be done if we want to move forward with removing manual symbols holistically, ref: #6736.
The main usecase for this is to just reduce the amount of typing when multiple members are needed.  Currently the expression can be quite long, especially if the enum is namespaced.

Can't be done, sorry. What's the type of :two | :one and how do you compute it?

To explain a bit more, the compiler will first type-check a call's arguments. Once all types are defined it can start searching matches. In the case of a Symbol type, if the argument is a SymbolLiteral it will try to do autocasting. But here it would be different because there's no way the compiler can type :two | :one.

I suppose technically, the compiler could get similar special handling for calls to | with symbol literals. Or, expressed differently: SymbolLiteral | SymbolLiteral could just be a language feature, say a CombinedSymbolLiteral. It is only valid where the type can be inferred and autocasting would be similar to SymbolLiteral. The only exception is, it only works with flag enum types.
That sounds feasible to me. Yet, I don't think it's high priority. Although I fully relate to the motivation for this, and it would be really nice to have.

As a workaround for now, I recently discovered the .flags macro which allows for Some::Long::Namespace::Colors.flags RED, BLUE instead of Some::Long::Namespace::Colors::RED | Some::Long::Namespace::Colors::BLUE, which is about half the length.

As long as the first flag is properly typed as a flags enum member, all the following ones can be symbol literals because autocasting of Enum#|(other : self) applies:
Foo::One | :two

This should work pretty well as a simplified workaround. You only need the full path once.
I think it reads better than Enum.flags? which would be another alternative: Foo.flags?(One, Two).
Perhaps this could also help to implement proper autocasting for flags enum combinations.
The expression :a | :b is a Call with receiver SymbolLiteral and argument SymbolLiteral. Calls can be chained when more than two flag members are combined: (:a | :b) | :c (parenthesis added for clarity, they can be omitted). Such a chain of calls should be relatively easy to detect. We would only need to autocast the first receiver to the flag enum type, everything else would be handled by the existing autocasting rules.
The trouble with that is the order of typing: When you have a call foo(:a | :b), the inner expression :a | :b is typed first, before the outer foo(result_of_inner). But the inner expression already errors because Symbol does not implement #|. So autocasting of such a call chain would need to happen earlier.

With the introduction of https://github.com/crystal-lang/crystal/pull/12900, would this feature even be worth it? Foo[:one, :two] might be sufficient.

I think yes, that is enough to close this off. The other approach is already there, is less hacky and indeed with this there would be too many ways to do this.


checkbox to "clear characters" on the jump event

add a checkbox to "clear characters" on the jump event. we don't want them always leaving because you may want to do a jump and preserve the character state, but optionally a cleanup step like that is handy
all the Leave actions are part of the Character event, rather than the Portrait Subsystem, so there's no direct way to call it there. but also because of that, would be super simple to implement, just needing a few lines at the beginning of Jump event's _execute():

duplicate the Character event from the event cache
set it to ActionType.Leave
set _leave_all to true
_execute() it
then proceed with the rest of the jump

Wouldn't it be cleaner to implement a leave_all method on the Portraits subsystem? Because then you could very easily call it from outside as well (e.g. Dialogic.Portraits.leave_all()) or remove_all() alternatively.

After considering it, maybe it is better that the user deals with clearing the screen if they want to.

Yeah, I think it's a nice thing to have but not very important as a simple Leave --All-- before the jump or at the beginning of the next timeline does the same. Also if we add a clear option it should probably remove backgrounds, styling and music as well.

Yes!
Reset the background, characters, swap to the default theme and... I can't think of anything else?

I think I'm against implementing this on the jump event. Because jumping does not at all need clearing most of the time. I'd rather consider a clear event that actually calls a version of Dialogic.clear() (without clearing timeline info and variables).

A clear event seems like the best solution. That way we keep each event as minimal as possible.

I'll close this in favor of #1699


ValueError: Reference genome 'hg19' not found

I am getting the error  " Reference genome 'hg19' not found "  when I run the command
isovar-protein-sequences.py
--vcf my.vcf
--bam accepted_hits.bam
--genome hg19
Traceback (most recent call last):
File "/exports/igmm/software/pkg/el7/apps/python/2.7.10/bin/isovar-protein-sequences.py", line 4, in
import('pkg_resources').run_script('isovar==0.3.1', 'isovar-protein-sequences.py')
File "/exports/igmm/software/pkg/el7/apps/python/2.7.10/lib/python2.7/site-packages/setuptools-18.4-py2.7.egg/pkg_resources/init.py", line 735, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/exports/igmm/software/pkg/el7/apps/python/2.7.10/lib/python2.7/site-packages/setuptools-18.4-py2.7.egg/pkg_resources/init.py", line 1659, in run_script
exec(script_code, namespace, namespace)
File "/exports/igmm/software/pkg/el7/apps/python/2.7.10/lib/python2.7/site-packages/isovar-0.3.1-py2.7.egg/EGG-INFO/scripts/isovar-protein-sequences.py", line 46, in
File "build/bdist.linux-x86_64/egg/isovar/cli/protein_sequences.py", line 70, in protein_sequences_dataframe_from_args
File "build/bdist.linux-x86_64/egg/isovar/cli/protein_sequences.py", line 60, in protein_sequences_generator_from_args
File "build/bdist.linux-x86_64/egg/isovar/cli/rna_reads.py", line 79, in allele_reads_generator_from_args
File "/exports/igmm/software/pkg/el7/apps/python/2.7.10/lib/python2.7/site-packages/varcode-0.5.10-py2.7.egg/varcode/cli/variant_args.py", line 101, in variant_collection_from_args
genome = genome_for_reference_name(args.genome)
File "build/bdist.linux-x86_64/egg/pyensembl/init.py", line 51, in genome_for_reference_name
File "build/bdist.linux-x86_64/egg/pyensembl/species.py", line 138, in normalize_reference_name
ValueError: Reference genome 'hg19' not found
Any ideas what has gone wrong?
Thanks,
Graeme

Hi Graeme,
Unfortunately, we never added proper support for hg19 to PyEnsembl. It's part of a longer-term plan for that library but in other cases we have, so far, been faking support by using GRCh37 and dropping mitochondrial variants. You can do the same thing in this case by passing 'grch37' as the genome, but I acknowledge that it's a band-aid solution at best!
There are two routes to actually support hg19: continue using Ensembl gene annotations but patch in the older mitochondrial sequence/genes used by hg19. Alternatively, we can generalize PyEnsembl to also support RefSeq gene annotations. I'm guessing the latter is what you're interested in but it's worth checking just to be sure.
--Alex

Also, if you drop --genome hg19 then our variant parsing/annotation library will automatically fall back on GRCh37 for you, though it does not yet drop the mitochondrial variants.

Ah, just noticed we're using that genome in our README example. Just removed it. @ggrimes were you able to get isovar working without the --genome flag?

I get the following message when I run it without a genome
"build/bdist.linux-x86_64/egg/pyensembl/download_cache.py"
ValueError: Missing genome data file from ftp://ftp.ensembl.org/pub/release-75/fasta/homo_sapiens/pep/Homo_sapiens.GRCh37.75.pep.all.fa.gz. Run pyensembl install --release 75 --species homo_sapiens
when I  Run pyensembl install --release 75 --species homo_sapiens I get the following error
pyensembl install --release 75 --species homo_sapiens
2016-11-21 09:10:48,739 - pyensembl.shell - INFO - Running 'install' for EnsemblRelease(release=75, species='homo_sapiens')
2016-11-21 09:10:48,740 - pyensembl.database - INFO - Creating database: /home/ggrimes2/.cache/pyensembl/GRCh37/ensembl75/Homo_sapiens.GRCh37.75.gtf.db
2016-11-21 09:10:48,740 - pyensembl.gtf - INFO - Reading GTF from /home/ggrimes2/.cache/pyensembl/GRCh37/ensembl75/Homo_sapiens.GRCh37.75.gtf.gz
2016-11-21 09:10:48,749 - pyensembl.gtf - INFO - Creating missing gene features...
Traceback (most recent call last):
File "/exports/igmm/software/pkg/el7/apps/python/2.7.10/bin/pyensembl", line 9, in
load_entry_point('pyensembl==1.0.3', 'console_scripts', 'pyensembl')()
File "build/bdist.linux-x86_64/egg/pyensembl/shell.py", line 156, in run
File "build/bdist.linux-x86_64/egg/pyensembl/genome.py", line 230, in index
File "build/bdist.linux-x86_64/egg/pyensembl/database.py", line 261, in connect_or_create
File "build/bdist.linux-x86_64/egg/pyensembl/database.py", line 192, in create
File "build/bdist.linux-x86_64/egg/pyensembl/gtf.py", line 249, in dataframe
File "build/bdist.linux-x86_64/egg/pyensembl/gtf.py", line 213, in _construct_df
File "build/bdist.linux-x86_64/egg/pyensembl/gtf.py", line 133, in _load_full_dataframe_cached
File "build/bdist.linux-x86_64/egg/pyensembl/memory_cache.py", line 107, in cached_dataframe
File "build/bdist.linux-x86_64/egg/pyensembl/gtf.py", line 167, in _load_full_dataframe_from_gtf
File "build/bdist.linux-x86_64/egg/gtfparse/create_missing_features.py", line 67, in create_missing_features
File "/exports/igmm/software/pkg/el7/apps/python/2.7.10/lib/python2.7/site-packages/pandas/core/frame.py", line 1914, in getitem
return self._getitem_column(key)
File "/exports/igmm/software/pkg/el7/apps/python/2.7.10/lib/python2.7/site-packages/pandas/core/frame.py", line 1921, in _getitem_column
return self._get_item_cache(key)
File "/exports/igmm/software/pkg/el7/apps/python/2.7.10/lib/python2.7/site-packages/pandas/core/generic.py", line 1090, in _get_item_cache
values = self._data.get(item)
File "/exports/igmm/software/pkg/el7/apps/python/2.7.10/lib/python2.7/site-packages/pandas/core/internals.py", line 3102, in get
loc = self.items.get_loc(item)
File "/exports/igmm/software/pkg/el7/apps/python/2.7.10/lib/python2.7/site-packages/pandas/core/index.py", line 1692, in get_loc
return self._engine.get_loc(_values_from_object(key))
File "pandas/index.pyx", line 137, in pandas.index.IndexEngine.get_loc (pandas/index.c:3979)
File "pandas/index.pyx", line 157, in pandas.index.IndexEngine.get_loc (pandas/index.c:3843)
File "pandas/hashtable.pyx", line 668, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12265)
File "pandas/hashtable.pyx", line 676, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12216)
KeyError: 'gene_id'
Any ideas what is going wrong?
Thanks

Run: pyensembl install --release 75 --species homo_sapiens

@ggrimes That's unexpected! Any chance that /home/ggrimes2/.cache/pyensembl/GRCh37/ensembl75/Homo_sapiens.GRCh37.75.gtf.gz is empty? Can you paste the first few lines of that file here?

Yes, the file was empty . I deleted it and re-ran command now everything runs ok.
Thanks for the help.
Graeme


How to alloc a new cluster ip that is  determined   like LRU in ippools  as far as possible for the newest pod

we have the service that is like  redis shards.Thank this:
two  service: shard-one-service ,shard-two-service
podname                               lisnten port      cluterIP
shard-one-service pod1        4000                <IP_ADDRESS>
shard-two-service pod1        4000                <IP_ADDRESS>

When shard-one-service pod1 destorys,its clusterIp is freed to ippool.
At the same time,shard-two-service pod2 t may retrieve the clusterIp of shard-one-service pod1.
This may cause problem.eg: using clusterIp to generate serial number,shard-two-service pod2  have the same serial number with
shard-one-service pod1.In fact this is not allowed.
Is there any way for calico to alloc ip using LRU strategy.,not most recently used

When shard-one-service pod1 destorys,its clusterIp is freed to ippool.

Service Cluster IPs aren't managed by Calico. If this is a problem with service IP allocation, then it's unlikely to be related to Calico.

Is there any way for calico to alloc ip using LRU strategy.,not most recently used

For pod IPs, Calico allocates them based on the block assigned to the node in a least-recently-used fashion. This is already the case.
Can you please use the issue template when raising issues? We're not able to support you unless you provide the information we ask for in the template.


Convert overlay to new s6 style

This fixes an issue where restarting Pulseaudio on new hardware didn't work. With this, we restart the pulseaudio service and wait for readiness.

Obsolete with #153.


Confusing wording in the FAQ

joseraul mentioned on HN (https://news.ycombinator.com/item?id=8974322) the following quote from the FAQ:

"For multiple document transactions, RethinkDB favors data consistency over high write availability. While RethinkDB is always CID, it is not always A."

This sentence is confusing because ACID has nothing to do with CAP. We should rephrase it so it's clear. Assigning to self as I'll be rewriting the FAQ for 2.0.

I think we should probably make a temporary "fix" for this, given that it's not exactly incorrect but kind of mangled. How about replacing that FAQ answer with something more like:

Most write operations involving a single document in RethinkDB are guaranteed to atomic. Operations that are not deterministic cannot update documents in an atomic fashion (such as random values, or values obtained as the result of a subquery). In addition, multiple documents are not updated atomically.

This uses language much closer to the architecture document.

:+1:


Updated to 1.3.8-b3 and another service popped up

I updated to the v1.3.8-b3 and another Blitzortung service popped up:

This is the "historical" service (with, for example sensor.blitzortung_lightning_counter):

(All are unavailable. The "Blitzortung Clermont min distance" is a statistic helper, it gives me the closest lightning strike in the last hour)
And the new one (now sensor.blitzortung_lightning_counter_2):

What's weird is that I have another service (for another location. To be clear, I should have two services in total and I have three at the moment) with the same helper that also existed before the update to the beta version and this one kept working :

How can I resolve that?

I just checked the migration process

from 1.3.5 to 1.3.8-b3
from 1.3.6 to 1.3.8-b3
from 1.3.7 to 1.3.8-b3

and I cannot reproduce your issue. Are you 100% sure you haven't used a beta release before?
To resolve the issue you need to remove and re-add the integration configuration.

and I cannot reproduce your issue. Are you 100% sure you haven't used a beta release before?

Absolutely sure. I installed the integration fairly recently (a few weeks), I discoverer the switch to activate beta releases very recently (a few days ago), turned it on, then updated to beta for the first time ever.
Note that the issue didn't appear on the second service (for another location). It might be random or it might appear when you have more than one location? Or appear only if you have a helper using one of the sensors? Or a combination of all?

To resolve the issue you need to remove and re-add the integration configuration.

I think I'm going to delete the old service and then rename the entities of the new one from sensor.blitzortung_lightning_counter_2 to sensor.blitzortung_lightning_counter and see if my dashboard accepts that. Unless you see an issue with this?

Could you show me the contents of the /config/.storage/core.device_registry file? Or the part of that file that contains the entries for Blitzortung.
Before doing anything with that file, make a backup. Corrupting that file can cause HA to stop starting.

Unless you see an issue with this?

You cannot remove a service, you can remove the configuration (config entry) to which both services are assigned.

The only entry I have for Blitzortung is in the deleted devices
{
  "version": 1,
  "minor_version": 8,
  "key": "core.device_registry",
  "data": {
    "devices": [
      {"area_id":null,"config_entries":["f544410ab1f4c3331b4794eb5b65dd89"],"configuration_url":null,"connections":[],"created_at":"1970-01-01T00:00:00+00:00","disabled_by":null,"entry_type":"service","hw_version":null,"id":"c5>
      [...]
      {"area_id":null,"config_entries":["3fad6a756ea08affb4823e3245b6b797"],"configuration_url":"homeassistant://hacs/repository/831739499","connections":[],"created_at":"2024-10-24T12:15:36.523432+00:00","disabled_by":null,"en>
    ],
    "deleted_devices": [
      {"config_entries":[],"connections":[],"created_at":"2024-09-25T16:55:21.189384+00:00","identifiers":[["blitzortung","Blitzortung Test"]],"id":"9c2eff2b4649091bdefd91e862060f9e","orphaned_timestamp":1727283751.4605598,"mod>
      {"config_entries":["3fad6a756ea08affb4823e3245b6b797"],"connections":[],"created_at":"2024-09-26T16:03:05.758190+00:00","identifiers":[["hacs","269011342"]],"id":"70fe4a1a0c4e65a8cb918145b17665cd","orphaned_timestamp":nul>
      {"config_entries":[],"connections":[],"created_at":"1970-01-01T00:00:00+00:00","identifiers":[["fastdotcom","81662d3de5bd21bd712255f7b6a34298"]],"id":"b970f4a094a007c97eb2b226636b3b5e","orphaned_timestamp":1729597725.4133>
    ]
  }
}

I tried to reproduce your problem today when the integration reports lightnings (during a storm) and I failed. Each time the migration went correctly and the second service was not created.
Do you sometimes see errors in HA log about blocking the event loop? Blocking the event loop can lead to the integration initialization being delayed and not everything working as it should.

I tried to reproduce your problem today when the integration reports lightnings (during a storm) and I failed.

Thank you, it's a real treat to have the someone so proactive about fixing issues. I'll keep answering your questions if you have any but I'm gonna close the issue and classify it as a freak incident. I'll let you know if it happens again, though.

Do you sometimes see errors in HA log about blocking the event loop?

Nope


Improve WASI implementation

Implement enough of the WASI spec to get e.g. clang.wasm running
Proc

[x] wasi_unstable.proc_exit

Environ

[x] wasi_unstable.environ_sizes_get
[x] wasi_unstable.environ_get

Args

[x] wasi_unstable.args_sizes_get
[x] wasi_unstable.args_get

Clock

[x] wasi_unstable.clock_time_get

Random

[x] wasi_unstable.random_get

Poll

[ ] wasi_unstable.poll_oneoff

FD

[x] wasi_unstable.fd_write
[x] wasi_unstable.fd_close
[x] wasi_unstable.fd_seek
[x] wasi_unstable.fd_fdstat_get
[x] wasi_unstable.fd_filestat_get
[x] wasi_unstable.fd_pread
[x] wasi_unstable.fd_read
[ ] wasi_unstable.fd_readdir
[ ] wasi_unstable.fd_fdstat_set_flags
[x] wasi_unstable.fd_prestat_get
[x] wasi_unstable.fd_prestat_dir_name

Path

[x] wasi_unstable.path_open
[x] wasi_unstable.path_filestat_get
[x] wasi_unstable.path_rename
[x] wasi_unstable.path_unlink_file
[x] wasi_unstable.path_remove_directory
[x] wasi_unstable.path_create_directory
[x] wasi_unstable.path_readlink
[x] wasi_unstable.path_symlink

This is great work, let me know if you'd like help with anything... I might have a fd_readdir impl from an old project.

@trevor403 Great to hear, that would be much welcomed!

clang.wasm can now compile a hello world C program into a WebAssembly object file. The remaining functions are apparently not needed, but should be still added eventually.

clang.wasm can now compile a hello world C program into a WebAssembly object file. The remaining functions are apparently not needed, but should be still added eventually.


Add gitalk as comment system. Update gems related stuff, pls refer to https://github.com/kitian616/jekyll-TeXt-theme/pull/20/commits/cb5eba1608c1ddc43d2aba99a43fc81769853049

auto wrap hyperlinks. https://github.com/kitian616/jekyll-TeXt-theme/pull/20/commits/d1bdf8f41819da106efbb44e1f96ddcc8d809682


support storing all data in UniversalPageStorage

What problem does this PR solve?
Issue Number: ref #6728
Problem Summary: we need to support storing all data in one Uni PS instance.
What is changed and how it works?

Introduce PageStorageRunMode::UNI_PS to indicate to store table data and kvstore data in Uni PS;
Introduce WriteBatchWrapper as the general write interface for UniversalWriteBatch and WriteBatch;

Check List
Tests

[x] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/rebuild

/run-all-tests

/run-all-tests

/run-unit-test

/run-unit-test

/run-all-tests

/run-integration-test

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

Rest lgtm

/rebuild

/merge

/run-unit-test

/hold

/run-all-tests

/unhold

/merge


Add the ability to test examples from yaml docs.

This is a follow-up to https://github.com/apache/beam/pull/30161

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @Polber


The replica count of target pods fluctuates when fallback is triggered in scaling-modifier

Report
If one of the scalers encounters an error while using scaling-modifier, the replica count cannot remain stable at the fallback value. Instead, it fluctuates between 1 and the fallback value.
Expected Behavior
The replica count of target pod keeps at the fallback value when scaler encounter an error.
Actual Behavior
The replica count of target pod keeps fluctuating between 1 and the fallback value.
Steps to Reproduce the Problem

Running the fallback template in scaling_modifiers_test.go, scale metricsServerDeployment to 0 to trigger fallback and keep for a while.

Logs from KEDA operator
keda-keda-operator-5789f449c4-dprm4-1712480741312929239.log
KEDA Version
2.13.1
Kubernetes Version
1.27
Platform
Other
Scaler Details
No response
Anything else?
No response

Definitivelly it shouldn't happen and fallback should be applied always, could you take a look?

After a quick check, I think the metric being provided to the metric server is incorrect.
When there is no fallback, the metric is a composite metric.

However, if a fallback occurs, the metric changes to separate metrics, and the metric values are not equal to the fallback value. This metric can trigger HPA to scale to 1.

Meanwhile, the doFallbackScaling() function continues to work, which causes the target pod to fluctuate between 1 and the fallback value.

@SpiritZhou good catch, I also belive this is the root of the problem.

There is another bug in the dofallback(). The metricSpec.External.Target.AverageValue will be 0 when the scakubg-modifier is active and the correct fallback value cannot be calculated. Should it be scaledObject.Spec.Advanced.ScalingModifiers.Target?  @zroubalik  @JorTurFer
func doFallback(scaledObject *kedav1alpha1.ScaledObject, metricSpec v2.MetricSpec, metricName string, suppressedError error) []external_metrics.ExternalMetricValue {
	replicas := int64(scaledObject.Spec.Fallback.Replicas)
	normalisationValue := metricSpec.External.Target.AverageValue.AsApproximateFloat64()
	metric := external_metrics.ExternalMetricValue{
		MetricName: metricName,
		Value:      *resource.NewMilliQuantity(int64(normalisationValue*1000)*replicas, resource.DecimalSI),
		Timestamp:  metav1.Now(),
	}
	fallbackMetrics := []external_metrics.ExternalMetricValue{metric}

	log.Info("Suppressing error, falling back to fallback.replicas", "scaledObject.Namespace", scaledObject.Namespace, "scaledObject.Name", scaledObject.Name, "suppressedError", suppressedError, "fallback.replicas", replicas)
	return fallbackMetrics
}

yes! we should use the scaledObject.Spec.Advanced.ScalingModifiers.Target there in case of using scalingModifiers

If the user sets a failureThreshold, the pods will continue to fluctuate until the number of failures exceeds the threshold because doFallback() will not be called. Should we prevent the user from setting the failureThreshold while using the formula? @JorTurFer

If the user sets a failureThreshold, the pods will continue to fluctuate until the number of failure

could you pleaes elaborate?

In the fallback logic there is a comparison between healthStatus.NumberOfFailures and scaledObject.Spec.Fallback.FailureThreshold. The healthStatus.NumberOfFailures will increase each round and this func will return directly without generating fallback metric value until  healthStatus.NumberOfFailures reached scaledObject.Spec.Fallback.FailureThreshold.
In composite scaler, it will return wrong metrics to HPA if healthStatus.NumberOfFailures is below scaledObject.Spec.Fallback. FailureThreshold. But at the same time KEDA will keep scaling target to fallback value, resulting in fluctuations in the replica count of target pods.
For example, there is a composite scaler with workload and metric-api scaler. The FailureThreshold is set 3 and the fallback value is set 5. If metric-api scaler encountered an error, this logic will return just workload metrics to HPA in the next 3 round. But KEDA will scale target to 5 in RequestScale() at the same time. As a result, the target will fluctuate between 5 and the wrong replica count in the following 45 seconds (suppose the interval of HPA metric request is 15 seconds).

In fact I don't quite understand the functionality of fallback failureThreshold. Even in normal scaler without composition, this logic just returns error to HPA which will not trigger any scale. But RequestScale() already trigger the fallback logic to scale target to fallback replica count. Is there any situation that needs the failureThreshold?

Hmm, probably some glitch in the logic. The scaler (no matter if composite or just one) should in case of errors report errors to HPA normally and once the failure threshold is reached then it should report fallback number.

Hmm, probably some glitch in the logic. The scaler (no matter if composite or just one) should in case of errors report errors to HPA normally and once the failure threshold is reached then it should report fallback number.

What errors should be reported to HPA when one of the composite scalers encounters an error? Nowadays it reports the normal one.

Hmm, probably some glitch in the logic. The scaler (no matter if composite or just one) should in case of errors report errors to HPA normally and once the failure threshold is reached then it should report fallback number.

What errors should be reported to HPA when one of the composite scalers encounters an error? Nowadays it reports the normal one.

I think it should report a new error stating that we weren't able to calculate the composite metric and then attach the failure fromt the specific scaler


Editor Toolbar

UI looks awesome, great work! found a small bug:
repro: open editor, focus editor, escape, open editor again
observation: tilde entered into script editor

repro: open editor, focus editor, escape, open editor again observation: tilde entered into script editor

I could not able to reproducing it.

repro: open editor, focus editor, escape, open editor again observation: tilde entered into script editor

I could not able to reproducing it.

my bad, turns out there was a single tilde character in my world's saved script lol!

Lets add a new mode Inspect which is on by default and has all of the editing features disabled in the top toolbar. We can move the Scene mode behind a feature flag. This will allow us to merge this PR and the awesome rework of the UI.


references from parent project to child project nodes not updated

Describe the bug

Steps to reproduce

Expected results

Actual results

Screenshots and log output

System information
Which database are you using dbt with?

[ ] postgres
[ ] redshift
[ ] bigquery
[ ] snowflake
[ ] other (specify: ____________)

The output of dbt debug:
<output goes here>

The output of dbt --version:
<output goes here>

Additional context

Are you interested in contributing the fix?

try to split out orders only from base project


Feature/180 store task types

Re-creation of broken PR #516
Solves: pypeclub/pype/#180
Currently task info is stored in both project config and assets as list of task names only. This PR enhances it to list of dictionaries.
I kept both config and asset as LISTs to follow https://github.com/getavalon/core/pull/556 and it felt wrong to have project.config.tasks as a dictionary and `asset.tasks' as a list.
Schemas already expect list of dictionaries, so no change is needed there.
(Could be changed easily if necessary.)
I added task name to short_name mapping. This short_name could be used in paths.. in the future.
Changed do dictionaries.

Changed everywhere I could find that it should be changed.
Please test it in Nuke. (Maya and Clockify seems fine.)
Inventory app is not showing anything in Maya, but I don't think its a result of this change.
Requires:
pype-config:pypeclub/pype-config#81
avalon-core:pypeclub/avalon-core#196
These queries need to be run on MongoDB:
db.getCollection('YOUR_COLLECTION_NAME').updateMany({type:"project"}, {$set: {"config.tasks":""}})
db.getCollection('YOUR_COLLECTION_NAME').updateMany({type:"asset"}, {$set: {"data.tasks": ""}})

the resetting query needs to be
db.getCollection('YOUR_COLLECTION_NAME').updateMany({type:"project"}, {$unset: {"config.tasks":""}})
db.getCollection('YOUR_COLLECTION_NAME').updateMany({type:"asset"}, {$unset: {"data.tasks": ""}})

to completely wipe the tasks, otherwise the sync fails

the last thing that seems to be blocking this is broken workfiles app after the change

I don't think that Workfile Save as is result of this change, see https://github.com/pypeclub/avalon-core/commit/c5cc6e1122ffdf2ed461a0786e9d9abbaddd7705 (error message sent: AttributeError: 'list' object has no attribute 'clear')
I found some issues when creating completely new DB though, fixed them.

you're right, it was because this branch was not up to date with develop.


support proxy protocol v2

Looks like AWS is using this exclusively:
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html
so we should support it. In particular, we should support it ahead of a plaintext connection.

Urgh. Yeah V1 is text-only, v2 is binary-only. https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt


Connect an upload with a user id

When a user uploads a file save the user id in the files table to connect the specific upload id with the user

It was solved in #11 PR


Should HSTS be used rather than HTTP -> HTTPS redirect?

Currently, when the application is visited over HTTP, a 301 redirect response is given as per the spec:

2.1 HTTP Server
[..] When both http and https URI schemes are supported, the server MUST redirect all http URIs to their https counterparts using a response with a 301 status code and a Location header.

But would it not be more desirable to use HTTP Strict Transport Security?
This has also come up on the Gitter chat:

Aaron Coburn @acoburn Feb 02 01:59
Noting that a server may implement support for Strict-Transport-Security headers, which is considered best practice and more secure than merely relying on 3xx redirects https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security (HSTS is orthogonal to the Solid protocol specification, but the Solid protocol specification should not make HSTS difficult to implement)
Sarven Capadisli @csarven Feb 02 10:02
True that. The current language didn't intend to ignore / overstep server's HSTS support. We should encourage HSTS.

See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security

These are two separate solutions to the same problem. I would advise to use them both.
A HSTS header is only interpreted by the web browser client software, and can be ignored (though this would be against the standards).
The 301 HTTP-to-HTTPS redirect ensures that the web server software will never allow connections to the "http://" schema on tcp/80 and will send all web browser client softwares to HTTPS on tcp/443 instead. This cannot be ignored by the web client.


Permission endpoints

Im not sure if the permission system works that way. How do I as admin get the user_id of the user I want to give rights to?
Example:
POST: /companies/{company_id}/createPermission
{
  "user_id": "42",
  "permission": "a"
}

The user you want to give permissions currently needs to tell you his or her id. The user can obtain it with GET: /user.
Would it make sense to implement an endpoint to get the user id from a user specified by username? This endpoint would be accessible for any registered user.

I think the better solution is to replace user_id with username and the server then searches for the user_id itself.


Tabs for multiple servers

The user should be able to open multiple servers in different tabs. This would require a popup or secondary menu option to allow the user to choose between switching the current view and adding to a new tab. Once that's implemented it's as simple as updating the Store with the server selected from the tabview.

Mac OS have window auto-tiling feature where it creates a new tab in your app for something that's expected to be a new window. Ex. here:

Merge an app's windows into one tabbed window: In the app, choose Window > Merge All Windows. If an app has more than one type of window (such as Mail with the viewer window and the new message window), only the active type is merged.
To make a tab a separate window again, select the tab, then choose Window > Move Tab to New Window, or just drag the tab out of the window. See Use tabs in windows.

Also here:

Specify when to open documents in tabs

On your Mac, choose Apple menu  > System Preferences, then click General .
Click the "Prefer tabs when opening documents" pop-up menu, then choose an option --- never, in full screen or always.

I believe you can opt in your app to always have your app windows tabbed, effectively making the OS to do the job for you

@epsimatic yeah looks like it already works! I'd like to have the server name show in the tab name so I'll get to work on that for the complete implementation


Unable to load DLL 'wpfgfx_cor3.dll' or one of its dependencies:

Microsoft PowerToys version
0.73.00
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
General
Steps to reproduce
Version: <IP_ADDRESS>
OS Version: Microsoft Windows NT 10.0.22621.0
IntPtr Length: 8
x64: True
Date: 23.09.2023 11:04:14
Exception:
System.DllNotFoundException: Unable to load DLL 'wpfgfx_cor3.dll' or one of its dependencies: Devingen bağlantı kitaplığını (DLL) başlatma işlemi başarısız. (0x8007045A)
at MS.Win32.PresentationCore.UnsafeNativeMethods.MILFactory2.CreateFactory(IntPtr& ppIFactory, UInt32 SDKVersion)
at System.Windows.Media.FactoryMaker..ctor()
at System.Windows.Media.Imaging.BitmapDecoder.SetupDecoderFromUriOrStream(Uri uri, Stream stream, BitmapCacheOption cacheOption, Guid& clsId, Boolean& isOriginalWritable, Stream& uriStream, UnmanagedMemoryStream& unmanagedMemoryStream, SafeFileHandle& safeFilehandle)
at System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy, Boolean insertInDecoderCache)
at System.Windows.Media.Imaging.BitmapImage.FinalizeCreation()
at Wox.Infrastructure.Image.ImageLoader.Initialize(Theme theme)
at PowerLauncher.App.<>c__DisplayClass19_0.b__0()
at Wox.Infrastructure.Stopwatch.Normal(String message, Action action)
at PowerLauncher.App.OnStartup(Object sender, StartupEventArgs e)
at System.Windows.Application.<.ctor>b__1_0(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
✔ Expected Behavior
Running at the opening sequence in start like everyday
❌ Actual Behavior
Version: <IP_ADDRESS>
OS Version: Microsoft Windows NT 10.0.22621.0
IntPtr Length: 8
x64: True
Date: 23.09.2023 11:04:14
Exception:
System.DllNotFoundException: Unable to load DLL 'wpfgfx_cor3.dll' or one of its dependencies: Devingen bağlantı kitaplığını (DLL) başlatma işlemi başarısız. (0x8007045A)
at MS.Win32.PresentationCore.UnsafeNativeMethods.MILFactory2.CreateFactory(IntPtr& ppIFactory, UInt32 SDKVersion)
at System.Windows.Media.FactoryMaker..ctor()
at System.Windows.Media.Imaging.BitmapDecoder.SetupDecoderFromUriOrStream(Uri uri, Stream stream, BitmapCacheOption cacheOption, Guid& clsId, Boolean& isOriginalWritable, Stream& uriStream, UnmanagedMemoryStream& unmanagedMemoryStream, SafeFileHandle& safeFilehandle)
at System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy, Boolean insertInDecoderCache)
at System.Windows.Media.Imaging.BitmapImage.FinalizeCreation()
at Wox.Infrastructure.Image.ImageLoader.Initialize(Theme theme)
at PowerLauncher.App.<>c__DisplayClass19_0.b__0()
at Wox.Infrastructure.Stopwatch.Normal(String message, Action action)
at PowerLauncher.App.OnStartup(Object sender, StartupEventArgs e)
at System.Windows.Application.<.ctor>b__1_0(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Other Software
No response

Not able to repro this, going to close. Let us know if you see this again!


[LI-HOTFIX] Add process time breakdown log for LeaderAndIsrRequest

TICKET = LIKAFKA-46169
LI_DESCRIPTION =
To track down why in 3.0 control requests needs more time to process,
we need logs to track time for each part to process.
EXIT_CRITERIA = When better mechanism to track is implemented upstream
More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Sample log line:
2022/08/25 11:37:00.827 [logger] [Broker id=0] Breakdown time in milliseconds for LeaderAndIsr request with correlationId 1 from controller 0: Map(validateTopicPartitionInfo -> 40, localLogManagerOnLeadershipChangeCallback -> 2, convertLeaderAndIsrRequestPartitionStates -> 1, constructLeaderAndIsrResponse -> 1, acquireReplicaStateChangeLock -> 0, makeFollowers -> 0, makeLeaders -> 2151, updateLeaderAndFollowerMetrics -> 4, remoteLogManagerOnLeadershipChangeCallback -> 0, findStrayPartition -> 1, deleteStrayReplicas -> 7, generateHighWatermarkCheckpoints -> 1, markPartitionOffline -> 1, startHighWatermarkCheckPointThread -> 0, maybeAddLogDirFetchers -> 0, shutdownIdleFetcherThreads -> 1, validateTopicIdInfo -> 3)


Add back Clear-RecycleBin for Windows

PR Summary
Add back Clear-RecycleBin cmdlet for Windows for parity with Windows PowerShell.  Addressed misuse of GetLastError() by removing error handling since the API returns error only if recycle bin is empty already which is not useful for this cmdlet.
PR Context
FIx https://github.com/PowerShell/PowerShell/issues/6743
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[x] Documentation needed

[x] Issue filed: https://github.com/MicrosoftDocs/PowerShell-Docs/issues/5005

Testing - New and feature

[x] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:

Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode (which runs in a different PS Host).
Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).
Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

It's part of the default cmdlets tests verifying it exists on Windows, but not Linux/macOS.

And this is crazy!
On Sun, 27 Oct 2019 at 3:50 pm, Steve Lee<EMAIL_ADDRESS>wrote:

@SteveL-MSFT commented on this pull request.
In
src/Microsoft.PowerShell.Commands.Management/commands/management/ClearRecycleBinCommand.cs
https://github.com/PowerShell/PowerShell/pull/10909#discussion_r339324997
:

             progress.PercentComplete = 100;

             progress.RecordType = ProgressRecordType.Completed;
             WriteProgress(progress);

           // 0 is for a successful operation

           // 203 comes up when trying to empty an already emptied recyclebin

           // 18 comes up when there are no more files in the given recyclebin

           if (!(lastError == 0 || lastError == 203 || lastError == 18))

Looking at the docs, this API doesn't rely on GetLastError(). This
existing code seems to have been mistaken. The API only returns an HRESULT.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/PowerShell/PowerShell/pull/10909?email_source=notifications&email_token=AIPXOJU56R5ENLOBBED3COTQQUM2XA5CNFSM4JFPUSNKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCJKOODQ#discussion_r339324997,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIPXOJRONOD3F7D6U5GK2HDQQUM2XANCNFSM4JFPUSNA
.

--
Sent by Dylan Taylor

@sdwheeler  Does the cmdlet also need a new fwlink?

I looked at emptying the macOS trash
dir ~/.Trash/ -Recurse -Directory  -Filter *.app | Remove-Item -Force -Recurse
dir ~/.Trash/* -Recurse -File | remove-item -Force

Some items the normal user doesn't have permissions to.


Taskschedule Startup Task + User Name With Spaces

Describe the bug
My Username in Windows is my first name and last name (ex: John Doe)
TaskbarX fails to start because of how the command prompt works with spaces
The taskschedule: C:\Users\John Doe\Documents\TaskbarX_<IP_ADDRESS>_neutral\TaskbarX.exe (+arguments)
Command Prompt says: C:\Users\John' is not recognized as an internal or external command
Fix
In the taskschedule action, add quotes in the file path (ex: "C:\Users\John Doe\Documents\TaskbarX_<IP_ADDRESS>_neutral\TaskbarX.exe"
To Reproduce
Steps to reproduce the behavior:
1: Set username to have a space
2. Manually run taskschedule or complete trigger (log in)
3. TaskbarX does not launch, no error is displayed
Expected behavior
Start TaskbarX normally
Desktop

OS: Windows 10
Version 21H2

@mrmcbruh0 But it's already doing that...


LocalFileSystem::new_with_prefix fails with relative path

Describe the bug

Calling LocalFileSystem::new_with_prefix(".") no longer works as of #2269
To Reproduce

Expected behavior

Additional context

Marking development-process as never released


Trying to enable a setting.

Attempting to enable the "Bold @ usernames" setting crashes the program to desktop, momentarily freezing windows too.

Should be fixed in the latest nightly


pick after applySpec picks keys with undefined value

Hello,
According to the documentation, R.pick

Returns a partial copy of an object containing only the keys specified. If the key does not exist, the property is ignored.

However, if there is R.applySpec before — it affects its behaviour:
R.pipe(
  R.applySpec({
    foo: R.prop('foo'),
    bar: R.prop('bar'),
  }),
  R.pick(['foo', 'bar']),
  // R.pickBy(R.complement(R.isNil)), // workaround
)({ foo: 'FOO' })

// returns {"bar": undefined, "foo": "FOO"}
// expecting {"foo": "FOO"}

Here it's reproduced in REPL

We can see what's happening here if we split up the two operations:
R.applySpec({
    foo: R.prop('foo'),
    bar: R.prop('bar'),
  })({foo: 'FOO'})

// {foo: 'FOO', bar: undefined}

R.pick(['foo', 'bar'])( {foo: 'FOO', bar: undefined} )

//The same as the input

So because applySpec actually adds in the bar property, it's then picked up by pick.
If you're looking for something to remove properties if their value is undefined you could use R.reject(isNil)(obj).
`reject will remove any item matching the predicate, which should take care of your edge case here.

undefined is such a strange value in JS.  If null was the billion-dollar mistake, it is at least an understandable version of, "hey, we all know that there's no value here".  undefined is billion-shrug mistake: "hey, I dunno, we can pretend it's this value if you like..."

Oh, ok, I can see why I made a wrong assumption.


Call to private method Zend\Mvc\Console\View\ViewManager::getView() from context 'ZF\Rpc\Module'

When enabling the module in combination with Apigility, the error Call to private method Zend\Mvc\Console\View\ViewManager::getView() from context 'ZF\Rpc\Module' is thrown. This is because the getView method is private while it is public in Zend\Mvc\View\Http\ViewManager.
I guesst the onBootstrap method in ZF\Rpc\Module::onBootstrap should not be executed while in console mode but one does not want to introduce a hard dependency on Zend\Console

Promoted getView() to public visibility, and released with 1.1.11.


Any way to disable popover on event level?

Hi @Saikat-Sinha.
You can use config to disable popover, follow this code:
constructor(date=moment().format(DATE_FORMAT), viewType = ViewTypes.Week, false, false,                 {eventItemPopoverEnabled: false})
Default config link: https://github.com/StephenChou1017/react-big-scheduler/blob/master/src/config.js

This disables popover for all the events, Is there any way to disable popovers for a specific type of event?

I'll check a showPopover property for every event, if it's false, I'll disable the popover of this event.

@Saikat-Sinha
Hi, I've updated and checked in the code.

.ant-popover{
display: none;
}
you can disable through CSS


Feedback on LLM Python API

I just saw you're using https://llm.datasette.io for this, which is really cool!
It's still pre-1.0 and I'm not yet 100% sure I've got the Python library API right. As such I'd love to get your feedback on that aspect of the library - is there anything that would make it easier to use?

Looks like everything your are using is encapsulated in this code: https://github.com/wagtail/wagtail-ai/blob/c8539f78902731647334c9ac775868dfe74222bb/src/wagtail_ai/ai/llm.py#L40-L60

Thanks for reaching out @simonw, and that's excellent feedback @tomusher.
One point from me would be:

Support new OpenAI library and image prompts - would be great to be able to pass the "image_url" document (?) (https://platform.openai.com/docs/guides/vision) and use GPT4V.

Hi @simonw, thanks for llm! wagtail-ai started with just support for OpenAI, then @tomusher wrote https://github.com/tomusher/every-ai to abstract other AI platform APIs, then we decided to adopt a more actively developed wrapper and picked llm.


Updates to EWT inversion from reflectance

This PR adds a few updates to the EWT inversion from reflectance command line tool.

replaced the hardcoded number of workers with the number of cores, if specified
added the option --ewt_limit to set the upper detection limit of EWT
added the option --plot_map to plot and save an image file of the inverted EWT map on runtime

Excellent, thanks @unbohn !


Promote hooks

Hi @janko-m,
After thinking about your response to #36, I came up with a (hopefully) acceptable solution. This PR adds hooks to the promote method.
After this PR, you may write an uploader like follows:
class AttachmentUploader < Shrine
  plugin :backgrounding
  plugin :hooks
  plugin :versions, names: [:original, :thumb]

  def process(io, context)
    if context[:phase] == :store
      thumb = resize_to_limit!(io.download, 350, 350)
      {original: io, thumb: thumb}
    end
  end

  def after_promote(cached_file, record:)
    cached_file.delete
  end
end

The after_promote hook will run after the store versions have been uploaded and the new value is persisted to the DB. Deleting the cache file here leaves 0 time when the store and DB are in an inconsistent state. I hope you find this an acceptable solution to all the issues discussed in #36. Let me know if I can improve this PR in anyway. Thanks for your time!

First of all, thank you for making the PR with tests included.
However, adding promote hooks to the uploader class isn't as intuitive as it might appear. The reason is that the Shrine class itself does't have the concept of "promoting". It only knows how to upload (and optionally process) and delete files, the Shrine::Attacher class is the one that is in charge of these "higher-level" concepts. That's why in my opinion these hooks don't belong in Shrine, and moving them to the attacher class would probably be a bit confusing (since then two kinds of hooks would exist).
I was thinking about adding some kind of promote hooks in the past, but I couldn't quite fit them in anywhere.
If it's really not convenient to set up some automatic cache clearing, you could achieve the same behaviour with the module_include plugin (didn't test it):
class MyUploader < Shrine
  plugin :module_include
  attacher_module do
    def promote(cached_file)
      result = super
      delete!(cached_file, phase: nil)
      result
    end
  end
end

Come to think about it, it would probably be nice to make a plugin for this. The main reason this is not in the base is because it could cause errors in combination with the moving plugin (because it's not possible to determine whether the cached file was moved, without saving some state). Would that work for you?

I was thinking about adding some kind of promote hooks in the past, but I couldn't quite fit them in anywhere.

Right. I put the hooks in the uploader so that there can be Uploader specific behavior. Putting them in the Attacher class would not allow for this. In my opinion, for the common user  (one that does not deeply inspect the source code), the Uploader is where all behavior customizations are made, and so it makes sense to put it here, but I agree that from a code SRP perspective, this is mixing responsibilities.

If it's really not convenient to set up some automatic cache clearing

My issue with this (and I suspect others as well) is that this is offloading application logic outside of the application. This is made worse when (like my current organization), there is a separate team / people in charge of managing AWS resources. I would rather not co-ordinate this across different servers, and especially across different people.

you could achieve the same behaviour with the module_include plugin

Ah ha! I had missed this. Yes, this essentially the same thing as the promote hooks, but better because it is clear that the code is executing in a different context.

Come to think about it, it would probably be nice to make a plugin for this. The main reason this is not in the base is because it could cause errors in combination with the moving plugin (because it's not possible to determine whether the cached file was moved, without saving some state). Would that work for you?

Yes this would work. Maybe it would be possible to extend the moving plugin with this functionality to prevent these errors. Where we override the promote function if both the cache and store storage are S3?
Thanks again for the thoughtful response. :sparkles:

I put the hooks in the uploader so that there can be Uploader specific behavior. Putting them in the Attacher class would not allow for this.

Actually, in order for the plugin system to respect inheritance, each Shrine subclass gets its own "copy" of the Attacher class, so any overriding of that class would be uploader-specific. The module_include plugin also relies on this.

My issue with this (and I suspect others as well) is that this is offloading application logic outside of the application.

I agree with this point, there should probably be a way to make cached files automatically deleted (safely), this was previously part of base functionality until I noticed issues with the moving plugin.
However, the reason why I didn't put much priority to this is because even with this in place, you still have to use the remove_invalid plugin to be safe if you're doing normal caching. But if you're doing direct uploads, then it's not possible to prevent the cache directory from filling up, because the user can upload a new file before the form is submitted, leaving the old file in the "nowhere land".
So even if I added this, with direct uploads you still need the automatic cache clearing. Because of that I'm not sure if it's worthwhile to add this behaviour. What do you think?

Actually, in order for the plugin system to respect inheritance, each Shrine subclass gets its own "copy" of the Attacher class, so any overriding of that class would be uploader-specific

Good to know :+1: . Thanks.

But if you're doing direct uploads, then it's not possible to prevent the cache directory from filling up, because the user can reupload files before the form is submitted, leaving the unused files in the "nowhere land".

It it possible to make multiple POST requests to the same s3 presigned_post. If you reuse the presigned_post response in the frontend and do not use the special ${filename} as part of the key, later uploads will overwrite the previous uploads and will not cause unnecessary objects in the cache. This has been working for me in my application. This would prevent a lot, but there are still some cases, such as if the user does not submit the form at all where the cache would fill up. Though, you could catch all the cases by queuing an image delete job in the far future to delete the cache image when the presigned_post is generated.

So even if I added this, with direct uploads you still need the automatic cache clearing. Because of that I'm not sure if it's worthwhile to add this behavior. What do you think?

The module_include plugin, will work fine for me. Thanks for that info. So it's whatever you think is best for the project. Perhaps the best thing would be to simply update the example application. :-)

This would prevent a lot, but there are still some cases, such as if the user does not submit the form at all where the cache would fill up. Though, you could catch all the cases by queuing an image delete job in the far future to delete the cache image when the presigned_post is generated.

Cool, I didn't have your trick in mind. However, as you mentioned, the user can just abandon the form. I just think it's never a good idea to have a hole which can be abused. Especially if you're accepting multiple file uploads (like in the example application).
The solution that is arguably the simplest and most effective is to setup automatic cache clearing (especially for S3), so when I think about I'm not anymore for the idea of adding a plugin for deleting cached file. People can use the module_include snippet if they really want. Thank you for raising this issue and the discussion.

Thanks again for being so helpful.
In my never ending quest to not leak this app behavior, I wrote and am now using the following plugin in my application. I'm sure that you can see what I am going by looking at it. This should cover all cases of clearing the cache, as Shrine::Attacher.delete_presigned_post_later(s3_post, 1.week.from_now) is run on every presigning request. Let me know if you think this method is worth exploring for Shrine, and I can put together a PR. It could be added to the direct_upload plugin as well.
class Shrine
  module Plugins
    module DeletePresignedPostLater
      OPTS_KEY = :backgrounding_delete_presigned_post_later

      module AttacherClassMethods
        def self.load_dependencies(uploader, *)
          uploader.plugin :backgrounding
        end

        def delete_presigned_post_later(presigned_post = nil, wait_until = nil, &block)
          if block
            shrine_class.opts[OPTS_KEY] = block
          else
            key_id = presigned_post.fields['key']
            data = {
              'delete_presigned_post' => true,
              'key_id' => key_id
            }

            background_block = shrine_class.opts[OPTS_KEY]
            wait_until ||= 1.week.from_now

            instance_exec(data, wait_until, &background_block)
          end
        end

        def delete(data = nil, &block)
          if data && data['delete_presigned_post'] == true
            key_id = data['key_id']

            uploader = shrine_class.new(:store)
            uploader.storage.delete(key_id)
          else
            super(data, &block)
          end
        end
      end
    end

    register_plugin(:delete_presigned_post_later, DeletePresignedPostLater)
  end
end

Interesting idea. First I thought that it would be better to create a more generalized version of this plugin, one which would delete any cached file, not just direct uploaded ones. But then I remembered that direct S3 uploads don't touch the app.
I think this plugin is too specific to be shipped with Shrine, it's only for direct presigned uploads, and it wouldn't handle all cases; for example, if the key uses a dynamic ${filename} like you mentioned, there is no way to know the key until the file is uploaded.
I'm not against a generic plugin that would make all cached files automatically deletable in a user-specified background job, but at the moment I don't know how it would look like, and if it's even possible to implement it in a simple and robust way. Since cache will almost always be either FileSystem or S3, both for which it's simple to setup automatic cache clearing, I don't think this plugin should ship with Shrine. If you decide to create an external plugin, I will gladly link to it on the website.


Add Michael Aizenshtat to Contributors list

I'm quite elated about your pull request. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a pull request and learned that I merged it?
We’ve recently added Facebook share and tweet feature to our web app. Could you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.

I recently began trying to gain a better understanding of open source
software. However, most of the tutorials available often assume that the
user has prior knowledge of the command line and programming languages. I
was relieved to see that your tutorial did none of this. My only suggestion
would be to further clarify the location of the contributors.md file on the
user's computer.(e.g stating that it would be located in the directory you
cloned the repository to.) Overall your tutorial was very satisfying and
helpful. It felt great to learn that I had succeeded in making my first
contribution.
On Tue, Jul 3, 2018 at 9:22 AM, Roshan Jossey<EMAIL_ADDRESS>wrote:

I'm quite elated about your pull request. I wanna evolve this project to
addresses various problems faced by first-time contributors. I'd love to
learn about your journey in open source community, the problems, pain
points you had etc.
Could you explain how you felt when you went through the tutorial, made a
pull request and learned that I merged it?
We’ve recently added Facebook share and tweet feature to our web app.
Could you please go to https://roshanjossey.github.
io/first-contributions/#social-share and share your first contribution to
open source? Also, check out projects with easy issues while you’re there.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Roshanjossey/first-contributions/pull/5227#issuecomment-402155167,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Am4rFG2fC_bFixPcZ55C9vrYCRfo6f-Uks5uC2_4gaJpZM4VA5cK
.

I’d urge you to continue contributing to other open source projects.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://goo.gl/PM1Jdh


Add clues for [ mappings

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md

Module(s)
mini.clue
Description
Typing help [ and pressing Tab shows a long list of [ movements. It would be nice to have clues for them similar to g, etc.

Thanks for the suggestion!
This sounds reasonable. I'll see if it will add too many lines to the code. Otherwise I might leave this to users.

I'll piggyback and ask here so as to not open a new issue - is there or will there be any support for default vim mappings such as d, y etc? If no, do you think there's a convenient way to mooch off of which-key? Thanks.


Fix bugs of ZoomBlure about resolution & size

Bug:
The raduis rendered is not as same as user set.
The wrong resolution.
Update:
Don't allow set custom size anymore. it's useless & would take some bugs.

Thank you @finscn


Calendar Past Dates: Reduce opacity of past date numbers to 25/30%

Description of issue
Requested on the Whole app - Not showing Past Events trello ticket:

Can we reduce the opacity of the past (and not selectable) days to 25-30%? Grab one of us to pair when you're doing it ;)

Can someone check the latest beta after #378 was merged? I think this might have been done.

Closing this as this will be addressed in #419


Cannot pull/push

Trying to do a pull/push returns:
{"status":"error","message":"Failed to pull repo!"}

Environment:

Using wernight/codiad Docker image

Running inside the Terminal plugin (or directly inside the shell as PHP's user):
$ ssh -T<EMAIL_ADDRESS>Welcome to GitLab, John Doe!

Running from inside the Terminal plugin a git pull also works.

This plugins remote info look good.

PHP's logs seem pretty parse about the cause of this issue. I only see:

2016/06/28 22:22:22 [error] 13#0: *469 connect() failed (111: Connection refused) while connecting to upstream, client: ::ffff:<IP_ADDRESS>, server: _, request: "GET /plugins/Codiad-CodeGit-master/controller.php?action=status&path=myproject HTTP/1.1", upstream: "fastcgi://[::1]:9000", host: "codiad.example.com", referrer: "http://codiad.example.com/"

It's visibly due to the reliance on some binaries as this issue is only on Alpine Linux and not on Debian based.

I'm currently not able to test it with Alpine Linux. Did you checked the dependencies?

Yes dependencies are met. The simplest to repro this bug is using Docker:
$ docker run --rm -p 8080:80 wernight/codiad:alpine

Sorry for my late reply. I tested it today with your docker image and was not able to reproduce your issue.

You're sure you're using the :alpine tag? I don't remember upgrading it, so it should still reproduce (that is not pull or push without actually giving an error if I recall).

Okay, thanks, I missed that.
After some digging: Alpine does not provide Bash as shell.
Try to change the following in expect.sh
#!/bin/bash
to
#!/bin/sh
I was not able to test it. My alpine docker instance tells me always the following error
  $ ssh -T<EMAIL_ADDRESS>  ssh: Could not resolve hostname github.com: Try again

After fixing this, I'll come back to you.

It sounds like you cannot access network from within your container. That
shouldn't be specific to Alpine.
To install bash just do: apk add --update bash
Le mar. 17 janv. 2017 à 16:18, Andr3as<EMAIL_ADDRESS>a écrit :

Okay, thanks, I missed that.
After some digging: Alpine does not provide Bash as shell.
Try to change the following in expect.sh
https://github.com/Andr3as/Codiad-CodeGit/blob/master/scripts/expect.sh
#!/bin/bash
to
#!/bin/sh
I was not able to test it. My alpine docker instance tells me always the
following error
$ ssh -T<EMAIL_ADDRESS>ssh: Could not resolve hostname github.com: Try again
After fixing this, I'll come back to you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Andr3as/Codiad-CodeGit/issues/36#issuecomment-273198178,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAI5A88R0qjznrF-K4ksEqycjW5_ecHyks5rTNvSgaJpZM4JAmlu
.

At home my container works as it should 🙈.
Now I was able to test the solution from above. I worked for me both on Alpine and on Debian. Could you please verify it on your system?


Fix hover symbol content position

Fix https://github.com/godotengine/godot-vscode-plugin/issues/140

Please make PRs against the master branch.

Superseded by #36138.


[Question] Tesorboard episode_reward vs ppo2.py ep_rewmean console output.

Hopefully a basic question. I would expect that ep_rewmean on stdout and episode_reward in tensorboard would be very similar (just given their names).
ep_rewmean (and other stats) look like this:

When I look at the episode_reward graph in tensorboard I see much lower numbers.

What is the relation between these two quantities?

While this issue exists, perhaps logging from OpenAI Baselines shouldn't be called legacy. Currently it is the only way to retrieve original reward, which is the only way to compare agent performance against other results.

Currently it is the only way to retrieve original reward

What about the Monitor wrapper? This is the way to retrieve the original training reward.

It has no native integration with Tensorboard though, unless I am missing something.

with this solution (now added to the documentation), this is now possible to log additional values: #409

Did I realize that by results_plotter.plot_results we can see the original reward that environment return?
and isn't the episode-reward on the tensorboard valid?

@araffin
Did I realize that by results_plotter.plot_results we can see the original reward that environment return?
and isn't the episode-reward on the tensorboard valid?


Support Struct datatype parsing for GenericDialect

Current BigQueryDialect is capable of parsing struct data type such as
create table t (s struct<n int, s varchar>);

According to README, this feature should also support GenericDialect, however in current code, before parsing this syntax, we only allow BigQueryDialect to have this syntax

Can we also support syntax with '()', like create table t (s struct(n int, s varchar)); like duckdb

https://github.com/sqlparser-rs/sqlparser-rs/blob/2f437db2a68724e4ae709df22f53999d24804ac7/src/parser/mod.rs#L1903
Then i think we can add | LParen here

@duongcongtoai  filed https://github.com/sqlparser-rs/sqlparser-rs/issues/1245 as a follow on. THank you


while the rly start is running, an panic: runtime error

When gameofzoneshub-2a started, after 45 minutes, rly start often crashed with a panic: runtime error: invalid memory address or nil pointer dereference error.
I noticed two types of errors:
I[2020-05-25|07:44:19.337] • [gameofzoneshub-2a]@{20143} - actions(0:transfer) hash(9FFD1CCC6354ACEB2D9A06EE11EDF872A98AA4837BF7A3274859B70D500B8411)
I[2020-05-25|07:44:19.337] • [gameofzoneshub-2a]@{20143} - actions(0:update_client,1:ics04/opaque) hash(B6282C88C836B98725B5838A5821056EB1F4956473CFC10A66EE9D5C0CAB16F0)
I[2020-05-25|07:44:19.337] • [gameofzoneshub-2a]@{20143} - actions() hash(D4A54C3120E4297C0F373D6A9C971292B27A3395A84896FDAED51B9D5DEF669F)
I[2020-05-25|07:44:24.589] ✔ [grbx-route-2]@{4893} - msg(0:update_client,1:ics04/opaque) hash(722840A3D304D0911EFB2DC7BBBAB69FDB41224095A43595E434ABE624636281)
E[2020-05-25|07:45:11.052] grbx-route-2: err(All attempts fail:
#1: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#2: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#3: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#4: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#5: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#6: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#7: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#8: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#9: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#10: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58))
E[2020-05-25|07:45:11.052] gameofzoneshub-2a: err(All attempts fail:
#1: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#2: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#3: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#4: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#5: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#6: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#7: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#8: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#9: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58)
#10: - [grbx-route-2]@{4891} - Packet Commitment Proof is nil seq(58))
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xf2bb35]

goroutine 9179 [running]:
github.com/iqlusioninc/relayer/relayer.(*RelayMsgs).Send(0xc003d9fe10, 0xc0001fb7a0, 0xc0001fb8c0)
        /home/gozubnsu/go/src/github.com/iqlusioninc/relayer/relayer/relayMsgs.go:56 +0xc5
github.com/iqlusioninc/relayer/relayer.(*NaiveStrategy).sendTxFromEventPackets.func1(0x10cec00, 0xa)
        /home/gozubnsu/go/src/github.com/iqlusioninc/relayer/relayer/naive-strategy.go:176 +0x39d
github.com/avast/retry-go.Do(0xc003d9ff18, 0x0, 0x0, 0x0, 0x1534d80, 0xc003a406e0)
        /home/gozubnsu/go/pkg/mod/github.com/avast/retry-go@v2.6.0+incompatible/retry.go:114 +0x15b
github.com/iqlusioninc/relayer/relayer.(*NaiveStrategy).sendTxFromEventPackets(0xc000e87140, 0xc0001fb7a0, 0xc0001fb8c0, 0xc001060000, 0x1, 0x1, 0xc0003736e0)
        /home/gozubnsu/go/src/github.com/iqlusioninc/relayer/relayer/naive-strategy.go:160 +0x157
github.com/iqlusioninc/relayer/relayer.(*NaiveStrategy).HandleEvents(0xc000e87140, 0xc0001fb7a0, 0xc0001fb8c0, 0xc0003736e0, 0xc001f83470)
        /home/gozubnsu/go/src/github.com/iqlusioninc/relayer/relayer/naive-strategy.go:47 +0x9e
created by github.com/iqlusioninc/relayer/relayer.relayerListenLoop
        /home/gozubnsu/go/src/github.com/iqlusioninc/relayer/relayer/strategies.go:145 +0xc38

`[2020-05-25|07:52:17.626] • [gameofzoneshub-2a]@{20225} - actions(0:transfer) hash(0B11759E266E46A96736A46C7DD0B5078B6DF6C30F2E3CA6767B17B00E7DE8F3)
I[2020-05-25|07:52:19.905] • [grbx-route-2]@{4974} - actions(0:transfer) hash(993F748367E1B86C40D9E6BBF7F901136E3BBC9D4D9D17BAC203AB3B5FD376D6)
E[2020-05-25|07:53:09.097] gameofzoneshub-2a: err(All attempts fail:
#1: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#2: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#3: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#4: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#5: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#6: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#7: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#8: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#9: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#10: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63))
E[2020-05-25|07:53:09.097] grbx-route-2: err(All attempts fail:
#1: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#2: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#3: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#4: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#5: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#6: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#7: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#8: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#9: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63)
#10: - [gameofzoneshub-2a]@{20224} - Packet Ack Proof is nil seq(63))
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xf2cd18]

goroutine 437 [running]:
github.com/iqlusioninc/relayer/relayer.(*relayMsgPacketAck).Msg(0xc001926d20, 0xc0005c78c0, 0xc0005c77a0, 0xc0005ad580, 0x0)
        /home/gozubnsu/go/src/github.com/iqlusioninc/relayer/relayer/relayPackets.go:171 +0xd8
github.com/iqlusioninc/relayer/relayer.(*NaiveStrategy).sendTxFromEventPackets.func1(0x10cec00, 0xa)
        /home/gozubnsu/go/src/github.com/iqlusioninc/relayer/relayer/naive-strategy.go:173 +0x302
github.com/avast/retry-go.Do(0xc0033f3f18, 0x0, 0x0, 0x0, 0x1534d80, 0xc001fa66a0)
        /home/gozubnsu/go/pkg/mod/github.com/avast/retry-go@v2.6.0+incompatible/retry.go:114 +0x15b
github.com/iqlusioninc/relayer/relayer.(*NaiveStrategy).sendTxFromEventPackets(0xc000e88e60, 0xc0005c78c0, 0xc0005c77a0, 0xc0002c7c20, 0x1, 0x1, 0xc0005b0940)
        /home/gozubnsu/go/src/github.com/iqlusioninc/relayer/relayer/naive-strategy.go:160 +0x157
github.com/iqlusioninc/relayer/relayer.(*NaiveStrategy).HandleEvents(0xc000e88e60, 0xc0005c78c0, 0xc0005c77a0, 0xc0005b0940, 0xc001cdf4d0)
        /home/gozubnsu/go/src/github.com/iqlusioninc/relayer/relayer/naive-strategy.go:47 +0x9e
created by github.com/iqlusioninc/relayer/relayer.relayerListenLoop
        /home/gozubnsu/go/src/github.com/iqlusioninc/relayer/relayer/strategies.go:148 +0xb85

This code has been substantially refactored. Closing this issue as non-actionable. Please reopen if you can repro with existing code.


Template Plugin Button Broken?

Informations
Chrome 60.x
OSX Sierra
1080p
How to reproduce the bug?
The template plugin button seems to be missaligned in the nav as you can see here https://jsfiddle.net/vj90s9fb/105/. I do not see this issue with older versions like 2.01beta. Should be easy to fix with css, but maybe its because I need sleep, but I havent figured out what is causing the problem and how to resolve it. Thanks!

Nope, you right, it's due to an IE9 fix ^^'

No need to support IE9 anymore. Easy fix. =P

It's not only template button, it's all dropdown's.
@MACscr What is your easy fix ?

@MACscr What is your easy fix ?

It's a troll... his fix is "drop IE9 support".
But you can also stay on the previous release if the latest is not OK for you.

Oh I see.
It's fine, i'll use the previous release then. I tried to fix with some css but that was very ugly :p
Nice project btw! 🍺

Ie9 is EOL and most major projects have dropped support for it. Heck, IE 10 barely even has any market share anymore. It's not ridiculous to drop support for it. Especially when you consider that right now you are only supporting IE9 since every other browser is broken with it.

Mark

On Oct 2, 2017, at 10:39 AM, Antoine Makhlouf<EMAIL_ADDRESS>wrote:
Oh I see.
It's fine, i'll use the previous release then. I tried to fix with some css but that was very ugly :p
Nice project btw! 🍺
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

It's just a CSS bug, Trumbowyg is JS before CSS I think...
Some users uses Trumbowyg because because of IE9 support.

Disable CSS and tell me again that Trumbowyg is mainly JS.

Mark

On Oct 2, 2017, at 11:29 AM, Alexandre Demode<EMAIL_ADDRESS>wrote:
It's just a CSS bug, Trumbowyg is JS before CSS I think...
Some users uses Trumbowyg because because of IE9 support.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

But which change(s) exactly have broken the dropdown styling?

It's not only template button, it's all dropdown's.

I cannot see any bug on other dropdowns :/

Fixed in 1.8.1:
https://jsfiddle.net/vj90s9fb/113/
:)


Store labels in the db.

The primary key of repo, label, issue will allow fast filtering of
issues matching a label in a repo.  This is the most email used for
sending emails.
This is progress towards #498

Could we use a postgres array for this? The upside would be less to worry about, the downside is that it would be harder to query all issues against a specific tag. what do you think @prathamesh-sonpatki ?

We can split this into tables, labels and issue_labels.
labels will have name and repo_id.
issue_labels will have label_id, issue_idandrepo_id`.
Then we will be able to show all issues for a particular label, query them and do all sorts of things.

@schneems My first thought was postgres arrays but it depends on how we want to query the data. We should looks back at #498 first and decide what queries we want to support.
@prathamesh-sonpatki I don't know what queries that split will get us over the current situation. It will save a couple of bytes (maybe not actually because of the extra table) but I don't see any benefit over that.

I think there's probably a use case for searching for issue labels cross-repo, e.g. language:ruby label:help-wanted. This PR could support that with a new index. I think PG arrays are a red herring.
@kevincox Can you rebase?


Option for assets to export at document canvas size

I'd like the ability to force generated assets to maintain the PSD canvas bounds.
In VFX for film, we use Photoshop to create texture maps for 3D models and layered matte paintings for digital environments. Generator is the perfect tool for automating these multi-layered exports.
But we absolutely need the assets to retain the PSD canvas dimensions so that they'll remain in registration when imported into the 3D or compositing program. There's a very large community of users who could take advantage of this. A similar request is the third comment on this blog post.
What I propose is a simple tag to force the uncropped export. It would automatically trim off any pixels outside the canvas area and pad the assets to the same bounds as the canvas.
It would work with the exiting scale syntax. Here are some examples:
canvas foo.jpg
canvas 50% foo.png32
canvas 1920x? foo.png
Not sure what the best tag would be. Maybe canvas, or uncropped, or docsize. Or maybe this can be merged with other related requests for more padding and image-bounds export options.

Perhaps adding a layer mask to a 'default' tagged layer could set the bounds of the document, for all layers below to be cropped to on generation?

Is there any solution for this? Having individual layers be generated to assets without respecting the document bounds makes it COMPLETELY USELSS for any layers that extend beyond the bounds.

@Jakobud Have you tried putting a mask on each layer to be generated? That's what I now do, and it works.
Alternatively there are these options within the generator.js config file:
"clip-all-images-to-document-bounds":false,
"clip-all-images-to-artboard-bounds":false,

Which you could experiment with; I've not had cause to use them yet.

Yeah I have been using the mask route. But honestly it is just a work around to a problem that shouldn't exist. I mean, if your document bounds define the intended size of your picture, why in the world would you EVER, in any circumstances whatsoever want to export any layer assets bigger than your document bounds.
Hopefully this is a bug that gets fixed someday.

Here are the details:
https://github.com/adobe-photoshop/generator-core/wiki/Generator-Configuration-File-Format
It's worth giving it a go. I'm in and out of that fill all day FWIW. It seems bizarre that we have to do that, these options should really be in a toolbar or in the prefs. Feels hacky to me, and not great for a product used by people with wide ranging technical abilities.
I can, however, envisage circumstances where you would want to generate assets that live outside the bounds in some complex designs and webpage builds, so I would expect it to be a configurable option, just probably not the default.


feat(nyc): better support for sourcemaps

Right now when apps run tests with nyc, the line numbers for errors in test output are the babelified line numbers from using @babel/register as setup in the . This makes it hard to debug what line really caused a problem when they come up.
the key is adding nyc-config-babel to the .nycrc file
i'm not sure how to handle the fact that this pins the configuration of nyc with babel. The recommendation from @istanbul/nyc-config-babel is to also add this as a babel plugin when used. I have not found any problems with not including this as a babel plugin, but feel like there's a piece I'm overlooking. The babel-plugin-instanbul package recommends turning off source maps in the nyc config if you already have mocha instrumented to babelify the code. I'd like to better understand this, but this is a start that does actually get rid of the original problem.

@travi how do you feel about:

i'm not sure how to handle the fact that this pins the configuration of nyc with babel.

this sorta forces you to use babel even though it's the nyc configuration. is babel sort of an unwritten assumption for javascript-core?

sorry tbh, i overlooked this question before merging. for now, at least, the answer is that this is mostly safe.
the only cases where transpilation is not configured with babel are:

the prompt was answered to decide not to transpile, but this option is only presented when the project will not be tested
a babel preset is not provided by the cli, which i consider a config problem that needs to be fixed in that consuming cli. we could maybe be more aggressive about that part, but the assumption is pretty deep at this point

as modules become more available as the default, i could see enabling cases where the code is not transpiled, but probably only for apps for even a while longer so that main still at least defines a common-js compatible bundle. even with modules tho, we ofter want to use other future features, so it could be a while before its truly a worthwhile option. i'm ok with carrying debt like this until then


after server update to 3.8.1 no sidebar in app anymore

My Setup

Operating System: Linux / Ubuntu 20.0.4
App Version: 3.0.7
Installation type: dpkg

[x] I have tested with the latest version
[x] I can simulate the issue easily

Description
After upgrading to server 3.8.1 (from 3.7.1) the sidebar is gone empty. CMD+R or Shift+CMD+R or restart of the App or the Computer does not help.

Any Ideas how to fix this?

rm -rf .config/Rocket.Chat

solves the problem.


Using url-pattern route configuration

I had a look at the https://github.com/snd/url-pattern docs and that looks great, but I could not figure out how to apply this to my routes. The example I was trying to get working was a nested route. e.g. get the Fragment to be displayed should the url be /home, /home/subhome or whatever. I figured a regex would be the answer, but putting that into the routes seemed impossible as the routes are the keys. On the offchance I also tried the regex in the forRoute of the Fragment to no avail.
Split out from #35

The example I was trying to get working was a nested route. e.g. get the Fragment to be displayed should the url be /home, /home/subhome or whatever.

Can you post some example code? I'm confused as to what you're trying to do here.

This is also a little bit related to #39... Also, let me preface this by saying that I've not spent a huge amount of time thinking about it and there could easily be use cases that would work completely differently.
Nested Routes
I wish to have a Fragment display whenever I am in route /home/, but also when I am in route /home/subhome.
const routes = {
  '/': {
    title: 'Root'
  },
  '/home': {
    title: 'Home',
    auth: true
  },
  '/home/subhome': {
    title: 'Subhome'
  }
};

Currently I'd have to write my Fragment like this:
<Fragment forRoutes=['/home', '/home/subhome']>

Home

    <Fragment forRoute='/home/subhome'>

Subhome

    </Fragment>

</Fragment>

Right? It's going to get pretty tedious adding all child routes to the parent routes. What's the plan for that?
When I mentioned the regex I was thinking that perhaps the way to do this was if evaluation of route was not intended to stop when it found a match, but to continue, potentially matching several things. In my example it would have then matched /home and /home/subhome, and the Fragment would have rendered if it was for` one of those matches. I see that's not what is intended now you've updated #39.

One possibility I was mulling over for nested routes was if it was possible to have a scenario where a Fragment matching a route would cause any parent Fragments to be rendered even if they did not match. I'm guessing that would be tough as when you need to decide if a Fragment is going to be rendered or not, you don't yet know what is inside it.

I wish to have a Fragment display whenever I am in route /home/, but also when I am in route /home/subhome.

This is all you should have to do to make that happen:
<Fragment forRoutes=['/home', '/home/subhome']>

This shows up on both /home and /home/subhome

</Fragment>

forRoutes means "if any of these routes match, render the fragment's children.

@tptee Thanks, but that's not quite what I was getting at. forRoutes is great if I have a component that I wish to appear at many routes, but what I'm after is a mechanism to nest routes.
In this example. There are three Fragments, two nested inside the other. If I was to specify the route /home then I would just get

Home

 rendered, which is correct. But if the route was /home/sub1 then nothing at all is rendered because the /home route doesn't match. The desired result is to get

Home

Sub2

.
<Fragment forRoute='/home'>

Home

    <Fragment forRoute='/home/sub1'>

Sub1

    </Fragment>
    <Fragment forRoute='/home/sub2'>

Sub2

    </Fragment>

</Fragment>

The only way I can see of achieving this as it stands is to do the following. Unfortunately that's not really maintainable once you have a deep and complex structure.
<Fragment forRoutes=['/home', '/home/sub1', '/home/sub2']>

Home

    <Fragment forRoute='/home/sub1'>

Sub1

    </Fragment>
    <Fragment forRoute='/home/sub2'>

Sub2

    </Fragment>

</Fragment>

Is there no way to do that at present?

Right, there's no way to do that right now. <Fragment> is a reaction to the complexity and rigidity   of <Route> in react-router. I found deeply-nested <Route>s hard to understand and scan.
I may explore an API to make these nested routes possible in the future. I can imagine something like:
<Fragment scope='/home'>

Home

    <Fragment forRoute='/sub1'>

Sub1

    </Fragment>
    <Fragment forRoute='/sub2'>

Sub2

    </Fragment>

</Fragment>

Actually, I don't think this would be a good idea. What I like about the Fragments is that they are just a convenience and not tightly bound to the routes.
The routes is where nesting must be configured.
I do think it absolutely has to be supported ultimately though, nested routes is a basic part of any routable application. Also, it is really that hard: #47


Adding the domain for Students emails for uem.mz

Adding uem.ac.mz to the list
At Eduardo Mondlane University, we use diferente domain for granting institutional emails for students and teachers. So We need to add it to the list.
The official website URL is: https://www.uem.mz (it is already on the list)
In this page you can check all the graduation courses that we offer: https://www.uem.mz/index.php/ensino/graduacao (in portuguese)
In the following screenshot you can see that the support email for the Student Management System uses this domain that is being submitted.

@backstageel First stage of verification passed, official domain is uem.mz as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision. Proof of domain ownership: https://www.uem.mz/

@backstageel I have to close this request as a duplicate to already merged request. You can apply for your free license at https://www.jetbrains.com/shop/eform/students already.


US07.01.01

As a claimant, I want to submit an expense claim for approval, denoting the claim status as submitted, with no further changes allowed by me to the claim information (except the tags).

it looks like someone did this one already

nevermind i forgot how to read

I didn't actually do it yet, I'm in the process though so don't worry about it, will finish in a minute

oh i was doing it too... oops. im doing .02 right now

Haha my bad I just started when I saw your first comment, bad timing

Done

Hey is it cool if I move this to ClaimantClaimsListTest? I realize it's my fault for messing up the names but I think that's where it should be and I didn't want to cause any more havok by doing it without asking

Scratch that it's probably in the right place, sorry about that I think I misread.


cannot Install the Content pack

Dears
I have the below
GrayLog server ( graylog-enterprise-5.2.4-1.x86_64 ) and i am installing the below content pack
Content_pack.json  1.6.4-rev24
but i am not able to install as it gives the below error

nstalling content pack failed with status: FetchError: There was an error fetching a resource:
Internal Server Error. Additional information: Failed to install content pack <85f976d9-4d2d-45f9-922d-25d2d9c11f87/25>.
Could not install content pack with ID: 85f976d9-4d2d-45f9-922d-25d2d9c11f87

Also the server.log has the below
Stream with title FortiGate Syslog  does not exist!
Dear sean I do apprecite your help and advice
Regards
simon

Hello,
Did you create the index set first?
I installed the content pack yesterday on a fresh Graylog Open installation.

Dear Houtek,
Really appreciate your reply and sorry for the delay.
Actually, I had not created the index set.
I did create the index set but still I have the same problem that installing the pack fails
ContentPackException: Stream with title  does not exist!
Now I did create a stream with the title  FortiGate Syslog and I could install the stream  but there were no meesages in that stream and also dashboard there was an error
also without above stream  I could install the graylog syslog pipeline
Now as I begin to understand maybe I am wrong the stream with Fortigate Title should be created automatically under streams tab and with the rule devid
Appreciate if you can advise me what I am missing.
I followed the below link
https://seanthegeek.net/1270/how-to-create-a-single-node-graylog-instance-and-analyze-fortigate-logs/
Thanks and Apprecite
regards
simon

I had the same issue on a fresh docker install. I created the index, then tried to install the content pack and got the same error message.
I ended up installing rev 14 successfully. I tried to install rev 25 but it failed. I then installed rev 20 successfully, and then rev 25 successfully.
When I install the pipeline content pack, I have the same issue and have not been able to get it to work.

Thanks ddistler
Really appreciate your quick reply.
can you please help me with the links of rev 14 n 20
I could only find reversion 21 but could not install it
Thanks and Appreciate
regards
simon

I can give you the links, but I haven't confirmed it worked because I have issues with the pipeline content pack.
The best way to get older versions is from the main page, click releases. On the left side of each release is the date, author, rev number, and branch. Click on the branch link then you can the diff. you can then browse branch and download the file.

OH ok Thank you and appecite .. will check it out
regards
simon

I just fixed this in 1.6.5-rev25. It installs correctly on a fresh install of Graylog. I have also released 1.0.5-rev7 of the FortiGate syslog pipeline content pack, which will install correctly after this content pack ins installed on a fresh Graylog install. For more information on the pipeline install, see https://github.com/seanthegeek/graylog-fortigate-syslog-pipeline/issues/1.

Dear ddistler
Sorry for the delay in reply just got stuck with some issues
Btw just to inform you as per you email 2 days back i uninstalled the rev 25 and installed rev 20 n upgraded to rev 25 without uninstalling   the previously installed pipeline content pack.
After that everything went fine and I could see that messages from the default stream were routed to the Fortigate Syslog stream.
But also I found that the dashboard tabs DNS Filter was blank and I was not able to understand forward traffic and SSL inspection dashboard.
Anyway many many thanks to sean whos been doing a marvelous Job  and has shared his newer revision yesterday
will try his new release and check it out
Thanks and regards
simon


How to download all icons

I want to download all icon glyph, I didn't find any way to select all icons and download.

Press "shift", then right mouse click & drag.


WIP: log what fact an exception came from

Fix for https://github.com/marick/Midje/issues/302 and https://github.com/marick/Midje/issues/336
TODO: fix failing tests

no clear way to do this without modifying behavior of midje in potentially obstructive ways to current users


typo: prefered -> preferred

Think this needs to be fixed upstream, but I'm not sure what repo that should be

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-autogen/msrest/msrest.paging.Paged.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@nschonni this should be an issue opened here: https://github.com/Azure/azure-sdk-for-python. Appreciate you opening the PR!

Thanks, I actually found out it's https://github.com/Azure/azure-rest-api-specs that needs to be patched 😉