fix slave can't connect to master error

fixed #1
As the service name is dynamic, the slave can't connect to 'redis-master' when GET_HOSTS_FROM set to dns. This PR enables the slaves to find the master correctly.
According to this:
https://github.com/GoogleCloudPlatform/kubernetes-engine-samples/blob/3fcb2fe644f0a2bcf4b2b59663026e9481298424/guestbook/redis-slave/run.sh#L17-L18
We need configure REDIS_MASTER_SERVICE_HOST for the slave.
After this fix applied,  all slaves are in sync with master.

8:S 12 May 15:07:19.792 # Server started, Redis version 3.0.3
8:S 12 May 15:07:19.792 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
8:S 12 May 15:07:19.793 * The server is now ready to accept connections on port 6379
8:S 12 May 15:07:19.793 * Connecting to MASTER demoapp-my-redis-master-service-a788b212:6379
8:S 12 May 15:07:19.794 * MASTER <-> SLAVE sync started
8:S 12 May 15:07:19.794 * Non blocking connect for SYNC fired the event.
8:S 12 May 15:07:19.794 * Master replied to PING, replication can continue...
8:S 12 May 15:07:19.794 * Partial resynchronization not possible (no cached master)
8:S 12 May 15:07:19.794 * Full resync from master: 14a7f1f6357516ec26ee631466eac05d8ad520c3:1
8:S 12 May 15:07:19.827 * MASTER <-> SLAVE sync: receiving 18 bytes from master
8:S 12 May 15:07:19.827 * MASTER <-> SLAVE sync: Flushing old data
8:S 12 May 15:07:19.827 * MASTER <-> SLAVE sync: Loading DB in memory
8:S 12 May 15:07:19.828 * MASTER <-> SLAVE sync: Finished with success

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I can confirm that with this patch, the redis slaves will be in sync with the master
const redis = new Redis(this, 'my-redis', {
  slaveReplicas: 2
})

And the other k8s services in the same cluster can discover them with env var like this
  env: {
    GET_HOSTS_FROM: 'env',
    REDIS_MASTER_SERVICE_HOST: redis.masterHost,
    REDIS_SLAVE_SERVICE_HOST: redis.slaveHost,
  },

Okay just realized I didn’t add any tests yet. Will add later.


Other ways to detecting C++14?

Right now we detect if C++14 is supported by doing this in DaemonFlags.cmake:
    # C++14 support
    try_cxx_flag(GNUXX14 "-std=gnu++14")
    if (NOT FLAG_GNUXX14)
        try_cxx_flag(GNUXX1Y "-std=gnu++1y")
        if (NOT FLAG_GNUXX1Y)
            message(FATAL_ERROR "C++14 not supported by compiler")
        endif()
    endif()

I already have found 3 compilers that fail at this test but are perfectly able to compile the engine and the game if I ignore the error:

The Android Termux clang, clang 15.0.7, should totally support C++14
Zig 0.11.0-dev, based on clang 16.0.1, should totally support C++14
ICC 2021.9.0 20230302

Is there other ways to detect C++14 compatibility?

I'll try with -std=c++14 and -std=c++1y.


In both the SqlTable and SqlServer objects the with_krb_auth is not invoked when username and passowrd are None

Currently the data objects code is:
@property     def with_krb_auth(self):         """Returns True if the object uses Kerberos for authentication.         :return: Kerberos authentication eligibility         :rtype: bool         """         if hasattr(self, 'username') and hasattr(self, 'password'):             result = False         else:             result = True         return result
The hasattr function returns true if the property is defined even if it is None.
Suggested update:
@property     def with_krb_auth(self):         """Returns True if the object uses Kerberos for authentication.         :return: Kerberos authentication eligibility         :rtype: bool         """         if self.username is not None and self.password is not None:             result = False         else:             result = True         return result

Thank you for bringing it up. I will fix it in the next release hopefully next weekend ;)


More Random Data Types

Hey, I have thought and looked up some other data types that could be useful. I wouldn't mind implementing them with you either 😃

App Versions

Car

Make/Model
Year
Color

Color

Company

Country Code

File Name

IP Address

Support for exporting to JSON

Could you explain App Version?
There is a color generator and a database of countries. It should be easy to make a country code generator. IP addresses shouldn't be difficult as well. A more complex address generator with country context would be really nice, but you'd need a geocoder for that. Or a rather large database.
File names are interesting but you need a database for that. For cars and companies as well. Are you thinking about real companies? Or more like fake names?
JSON export isn't actually needed as you can use pretty much any JSON serializer to save generated objects to a JSON.

A set of data for App Version could include [ 1.0, 2.4.1, 2.1.12 ] and so on.
Either real companies or fake ones, I don't think it really matters.
But for the other data types, can I pr into your branch after implementing them?

sure


QR Code Generator

QR Code Generator
script name - qrcode.py
What have you Changed
A new script to generate QR codes.
Issue no. - #438
Self Check(Tick After Making pull Request)

[x] This issue was assigned to me.
[x] One Change in one Pull Request
[x] My file is in the proper folder
[x] I am following clean code and Documentation and my code is well linted with flake8.
[x] I have added README.md and requirements.txt with my script

Join Us on Discord:- https://discord.gg/JfbK3bS
Acknowledgment

[x] I have tested the script and distributed it under an MIT license.

Please check out this issue once. Use flake8 standard for python code.
./QR Code Generator/qrcode.py:1:1: E265 block comment should start with '# '
./QR Code Generator/qrcode.py:3:1: E265 block comment should start with '# '
./QR Code Generator/qrcode.py:5:1: E265 block comment should start with '# '
./QR Code Generator/qrcode.py:6:1: E265 block comment should start with '# '
./QR Code Generator/qrcode.py:6:120: E501 line too long (127 > 1[19](https://github.com/codePerfectPlus/awesomeScripts/actions/runs/3028819885/jobs/4927908893#step:5:20) characters)
./QR Code Generator/qrcode.py:7:29: E[23](https://github.com/codePerfectPlus/awesomeScripts/actions/runs/3028819885/jobs/4927908893#step:5:24)1 missing whitespace after ','
./QR Code Generator/qrcode.py:7:41: E231 missing whitespace after ','
./QR Code Generator/qrcode.py:8:1: E[26](https://github.com/codePerfectPlus/awesomeScripts/actions/runs/3028819885/jobs/4927908893#step:5:27)5 block comment should start with '# '
./QR Code Generator/qrcode.py:10:1: E265 block comment should start with '# '
./QR Code Generator/qrcode.py:12:1: E265 block comment should start with '# '
./QR Code Generator/qrcode.py:14:1: E265 block comment should start with '# '


Add new Style/EmptyMethod cop

This cop checks for the style of empty method definitions. By default it enforces a compact style, i.e.:
# EnforcedStyle: compact
def foo; end

but it can be configured to enforce a loose style as well, i.e.:
# EnforcedStyle: expanded
def foo
end

The cop comes with auto-correct.

Before submitting the PR make sure the following are checked:

[X] Wrote good commit messages.
[X] Commit message starts with [Fix #issue-number] (if the related issue exists).
[X] Used the same coding conventions as the rest of the project.
[X] Feature branch is up-to-date with master (if not - rebase it).
[X] Squashed related commits together.
[X] Added tests.
[X] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[X] All tests are passing.
[x] The new code doesn't generate RuboCop offenses.
[X] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[X] Updated cop documentation with rake generate_cops_documentation (required only when you've added a new cop or changed the configuration/documentation of an existing cop).

I'm pretty sure most developers will agree it should defaults to expanded.
Also: https://github.com/bbatsov/ruby-style-guide#no-single-line-methods.
Cheers.

@lucascaton: The best way to test is to open up an issue or a PR in the style guide repository to see if people agree. 😀
For now, the section you linked (and that is also linked in the cop itself) states:

One exception to the rule are empty-body methods.
# good
def no_op; end


Add to_bytes and from_bytes

Seems weird that techempower did a bunch of extra code just to convert struct to bytes, it would be nice to have a feature parity to encode/decode from bytes as for string.
As well, I wonder why generic like From<Bytes> are not used for Serialization.
https://github.com/TechEmpower/FrameworkBenchmarks/pull/3752#discussion_r274387900

I think I would prefer not to build this into serde_json, but it would be possible for an external crate to provide these signatures as a convenience around the Serializer / Deserializer API exposed by serde_json.


nixos/unifi: add deprecation warning for openPorts

Motivation for this change
#149889
cc @lunik1 @erictapen
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

I think it's a little clear to explicitly say false will be the new default, something like

The current services.unifi.openPorts = true default is deprecated and will change to false in 22.11. Set it explicitly to silence this warning.

LGTM otherwise.

Should we take this opportunity to rename the option to the standard openFirewall while we're at it?

changed the name as well now. shouldn't hurt, it having been enabled by default all along anyway.

that's also an option, but aliasing the option and warning if it's not set to anything explicitly seems like it'd make a smoother transition. existing configs would continue to work without changes for a while and just warn that openPorts has been renamed and openFirewall isn't explicitly set true. having two options that must be consistent would require people to set two options for the transitional period, and when (if? what's the removal period for renamed options?) we remove openPorts their config would break again.
if that's not an important consideration for you then we're just as fine to remove openPorts outright in favor of openFirewall with a changed default.

There appeared merge conflicts in the release notes. Could you fix these? I think after that it is fine to merge.

updated again :+1: the release notes can be a bit annoying sometimes :sweat_smile:


Create a Drupal-adaptive scaffold task. [WIP]

I've tested this with the default test package and also after dropping a Drupal 8 Drush makefile into test/test_assets/src/project.make, and found it to work with both the Drupal 7 and 8 sites.

YES!


couple of steps

you need to have this:
FuckNeulion-v2.3.jar
https://mega.co.nz/#!5cRgwQ7S!kLvDXQrshwjBK9xM-zmu1RfNI91qoGb4Q3HMhSrZwJ4
You also need to add this line to /etc/hosts
<IP_ADDRESS> nlsk.neulion.com
I would add these, maybe even include the FNeulion file so people don't have to go digging around.

@chovy Thanks - yeah I forgot the /etc/hosts step. I will add the link, I was just concerned about DMCA takedowns.

Yeah, I wouldn't put the file in the repo then, but a link would help. Otherwise nobody will get it working.


Must not overwrite config is PASSWORD_STORE_DIR is set

Since https://github.com/gopasspw/gopass/pull/1284 gopass overwrites it's configuration if PASSWORD_STORE_DIR is set.
This must not happen.

In my case, PASSWORD_STORE_DIR was only set in some directories (direnv).
I've worked around this to always set PASSWORD_STORE_DIR in my shell, instead of switching between (default/empty when in my homedir and set to a non-default when in a 'work' dir).


pgcat does not honor startup parameters

Describe the bug
I am comparing pgcat's behavior against pgbouncer with both running in transaction mode.
When the client sets any of the following parameters in the connection string, pgbouncer takes note of them and keeps them consistent for each client
application_name
client_encoding
datestyle
timezone
standard_conforming_strings

pgcat doesn't. I think of these variables application_name is perhaps the most important given it can be used for query source attribution in pg_stat_activity
To Reproduce
Run the following ruby script against pgcat after modifying the connection strings to point to the correct address
require 'pg'
$stdout.sync = true

conn1 = PG::connect("postgres://main_user:@pgcat:5432/main_db?application_name=app_1")
conn2 = PG::connect("postgres://main_user:@pgcat:5432/main_db?application_name=app_2")

puts "application_name on conn1 = #{conn1.async_exec('SHOW application_name')[0]['application_name']}"
puts "application_name on conn2 = #{conn2.async_exec('SHOW application_name')[0]['application_name']}"

conn1.close
conn2.close

This produces
application_name on conn1 =
application_name on conn2 =

Expected behavior
It should output
application_name on conn1 =app_1
application_name on conn2 =app_2

Should be an easy fix, I'll push something soon @drdrsh 👍

Fixed application_name, the other ones I'll do later, they are slightly more involved I think. I'll keep this issue open until the remaining parameters are implemented.

Hey @levkk, just stumbled across this open ticket while trying to debug some encoding issues.  We've seen temporary issues with client_encoding not being set that we suspect are related to this bug as they first started appearing after switching to pgcat.

Makes sense. You can set client_encoding on the server just like we do with application_name, e.g. https://github.com/levkk/pgcat/blob/master/src/client.rs#L1041
PR welcome!


UI components - Calendar / Range picker does not show intervall

Opened incident: https://github.com/nolimits4web/Framework7/issues/1549

Should be fixed in Framework7 V3, if not, please open new issue.


add argument validation

Few things;

I tested it under Windows and used intsafe and an additional ifdef.

#ifdef PLATFORM_WINDOWS
	HRESULT err = SizeTMult(num, size, &total);
	if (err != S_OK || total >= MAX_ALLOC_SIZE)
	{
		errno = EINVAL;
		return 0;
	}
#else

For rprealloc()   If realloc fail's when the size is != 0 should you not return the original buffer w/o deallocating?

You also need to move the VALIDATE check sooner for the case of rpaligned_alloc

void*
rpaligned_alloc(size_t alignment, size_t size) {
	if (alignment <= 16)     // <-- you will not validate and pass into _memory_allocate, for any sizes -32 to -1, it could be exploited. since _memory_allocate will do additional arithmetic on size
		return _memory_allocate(size);

#if ENABLE_VALIDATE_ARGS
	if (size + alignment < size) {
		errno = EINVAL;
		return 0;
	}
#endif

	void* ptr = _memory_allocate(size + alignment);
	if ((uintptr_t)ptr & (alignment - 1))
		ptr = (void*)(((uintptr_t)ptr & ~((uintptr_t)alignment - 1)) + alignment);
	return ptr;
}

Thanks, I fixed those issues. For the aligned alloc case by calling rmalloc instead of internal _memory_allocate, to get max size check.


clean exits

So this came up in our last call.  When things break, it would be nice if it would do so "nicely" so that things can continue.  So for a concrete example, let's imagine something breaks at the combine_spectra routines.  It would be nice for the software to return something that we can test and say "ok, that broke, skip the rest and keep going".
In IDL, I accomplished this with a keyword CANCEL.
If anything went wrong in a function, I would set CANCEL to 1, and then return from the function.  The next line after any function call was always,
doingsomething(data, CANCEL=cancel)
if cancel then return
I could do this all the way out of nested calls until I get to a nice safe place.
When I started coding pyspextool, I didn't see an obvious way to do this given that one cannot return values through a keyword.  I considered returning a "cancel" variable for every function but that felt non-pythonic and so didn't bother.
So once the try/except fails, how do we tell the script/function that called the routine with the try/except that things failed and that one should not try and continue?

Can you be even more concrete? What type of thing might happen during the combine_spectra step?
Also, when you say "continue", do you mean like, keep going to the next set of spectra? Or do you mean you just want to fail at a higher level function?  I see the need for both uses, just want to make sure we're on the same page about the one we're talking about now.

For the moment I am thinking about Adam's batch runs.
So if we get some bad data or something, it would be nice for whatever routine breaks (making flats, or extraction, or telluric correction) to return to his batch script with something that allows his batch script to say "ok, this set broke, let's skip what remains of this data set and move on to the next one"

I have implemented this in SIMPLE ingests scripts with a CONTINUE keyword. If false, it stops at an error. If true, it communicates about the error but then keeps on trucking.
'''Python
Try:
do_file(file)
Except(OSError) as e:
If continue:
Logging.warning("something didn't work. Skipping file")
Continue
Else:
Logging.error(f"something didn't work. Skipping {file}")
Return(e)
'''

ok, I called it raise_error
raise_error: bool, optional
        True (default): Raise an error if a source cannot be ingested
        False: Log a warning but skip sources which cannot be ingested

Examples:
simbad_result_table = Simbad.query_object(source)
if simbad_result_table is None:
   n_skipped += 1
   msg = f"{i}: Skipping: {source}. Coordinates are needed and could not be retrieved from SIMBAD. \n"
   logger.warning(msg)
   if raise_error:
           raise SimpleError(msg)
   else:
         continue

try:
   ingest_names(db, source, source)
   n_names += 1
except sqlalchemy.exc.IntegrityError:
    msg = f"{i}: Could not add {names_data} to database"
    logger.warning(msg)
    if raise_error:
        raise SimpleError(msg)
    else:
        continue

I see.  So Adam could in principle add try/excepts for each function call in the loop, and if it breaks, he can just skip to the next interaction of the loop and log it?

Yep.

@aburgasser

@Adam.  Let me poke at this as I think I can accomplish what we need inside the core code.

So in working on #107, I found a perfect example to try and test this.  One of the pairs is "bad" and so there aren't two apertures, and when it goes to generate an aperture mask (which labels each pixel in the slit with a number describing its purpose - aperture, background, etc.) with two apertures it breaks.  So my goal was to exit define_aperture_parameters nicely so as to continue to the do_all_steps program.
I added a try/except around define_aperture_parameters in do_all_steps:
   try:

        define_aperture_parameters(extract.parameters['apradii'],
                               psf_radius=extract.parameters['psfradius'],
                               bg_radius=extract.parameters['bgradius'],
                               bg_width=extract.parameters['bgwidth'],
                               bg_regions=extract.parameters['bgregions'],
                               bg_fit_degree=extract.parameters['bgdeg'],
                               qa_show=extract.parameters['qaplot'],
                               qa_showsize=extract.parameters['qaplotsize'],
                               qa_write=extract.parameters['qafile'])

    except(ValueError) as e:

        continue

and that worked well (will fill in more in the except(ValueError) section later: logging, messages, etc.)
In order to relay this information to the do_all_steps caller, I was planning on return a list of the successful files.  so for example, if the user passes '69-72', and 71,72 are the ones that fail, do_all_steps would return a list of [69,70].
Then the batch code would have to adjust its call to say combine_spectra to skip 71 and 72.  eventually I can wrap each call in do_all_steps in something similar to try and catch all the problems.
Does this sound reasonable?  And if so, @aburgasser what is the best format for the returned files for you?  Also, one of course has to run everything a first time before calling do_all_steps and so we have to include those files as well, but that should be straightforward.


metanorma not creating PDF

That is because xsl:fo PDF is expecting XML filename as input, but Metanorma passes in XML content instead. xsl:fo generators instead need to write XML to disk, if they have not been given the XML file as input (as is the case in asciidoc run), in order to do PDF generation.


Update Consumption-Tests Xcode and OS versions

This PR:

Updates MINIMUM_SUPPORTED_VERSIONS.xcconfig with versions that match the recent changes for the native WebSocket implementation (see: #289).
Updates LATEST_SUPPORTED_XCODE_VERSION and LATEST_SUPPORTED_VERSIONS.xcconfig for the Xcode 11.7 and iOS 13.7 releases.

Codecov Report

Merging #297 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #297   +/-   ##
=======================================
  Coverage   82.91%   82.91%
=======================================
  Files          38       38
  Lines        3037     3037
=======================================
  Hits         2518     2518
  Misses        519      519

Continue to review full report at Codecov.

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


[New App] Harvest Time Reports

Description
This PR adds a Harvest Time Tracking applet for Tidbyt. It allows you to set a date range, define a rate and calculate revenue for that period.

Copilot

🤖 Generated by Copilot at ba93042
Summary
📄🌾⚙

This pull request adds a new applet for Harvest, a time tracking and invoicing service. It includes a manifest.yaml file for the applet metadata and a README.md file for the applet documentation.

Harvest applet grows
Manifest and README
Fall fruits for Tidbyt

Walkthrough

Create a new applet for Harvest, a time tracking and invoicing service (link, link)
Define the applet metadata and configuration in manifest.yaml, such as the name, description, icon, and parameters (link)
Provide a user-friendly introduction and instructions in README.md, along with a screenshot of the applet display (link)
Require the user to enter their Harvest account ID and personal access token as parameters for the applet (link, link)

I have read the CLA Document and I hereby sign the CLA

Any update when this will get reviewed/merged?

Well thats not nice - I put a lot of hard work into that! :(


Bug/500 server errorwhennodedoesnotexist

Reviewers
@jframos
Description
Fix issue 4210. If the node does not exist, it returns 404 error. It makes the deletion operation asyncronous
Test
tested locally

Coverage increased (+0.1%) to 47.17% when pulling e3a9c9c1c3fb4ed5c2e8e0164f28fb798b7c65f8 on hmunfru:bug/500ServerErrorwhennodedoesnotexist into e0afbc1be01e264db362fdc4e8160e09905f6c68 on telefonicaid:develop.

Comments in the test are already included but there are not appear in the discussion

Coverage increased (+0.09%) to 47.16% when pulling f484ac72e343f797f8060cdc64f9a174cf492f96 on hmunfru:bug/500ServerErrorwhennodedoesnotexist into e0afbc1be01e264db362fdc4e8160e09905f6c68 on telefonicaid:develop.

LGTM

LGTM
(To be tested in Experimentation Environment)

Coverage increased (+0.11%) to 47.18% when pulling b75b1b70a10128b21518ff68e532391686cade3f on hmunfru:bug/500ServerErrorwhennodedoesnotexist into e0afbc1be01e264db362fdc4e8160e09905f6c68 on telefonicaid:develop.

LGTM

MAGIC number in core/src/main/java/com/telefonica/euro_iaas/sdc/manager/impl/NodeManagerImpl.java line 147

Coverage decreased (-0.95%) to 46.12% when pulling 2f7e6a0d756d57b2837e46f9834253f0384b9116 on hmunfru:bug/500ServerErrorwhennodedoesnotexist into e0afbc1be01e264db362fdc4e8160e09905f6c68 on telefonicaid:develop.

Coverage decreased (-0.84%) to 46.23% when pulling e941af543a44cd82aefbcfcb719501c5de1de513 on hmunfru:bug/500ServerErrorwhennodedoesnotexist into e0afbc1be01e264db362fdc4e8160e09905f6c68 on telefonicaid:develop.

Coverage decreased (-0.84%) to 46.23% when pulling 4ee3ab561e69d42b02094e363890bf453f91f903 on hmunfru:bug/500ServerErrorwhennodedoesnotexist into e0afbc1be01e264db362fdc4e8160e09905f6c68 on telefonicaid:develop.

LGTM


Lesson 1 midway animation

Halfway through the first lesson there is a natural transition that would benefit from animation.

Related to https://github.com/Qiskit/qiskit.org/issues/2527

https://ibm.box.com/s/xv5ta31pxaqud4qxpg3vrs8lydexdfw0


Permissions: Add new Permissions

Tableau introduced some new permission set in the latest version which is missing from our tableau-server-client python library. below are the new permissions:
Workbooks
•	Run Explain Data
•	Create/Refresh Metrics
Data Sources
•	Save As
•	Move
Ask Data Lenses (all new)
•	View
•	Overwrite
•	Move
•	Delete
•	Set Permissions

Hi, may i know when can we expect these permission items to be added in the package?


us-co-boulder

tons o data, including control points and parcel data.
+100 for weed zone shapefiles
http://www.bouldercounty.org/gov/data/pages/gisdldata.aspx

Unfortunately the county doesn't have address data published. I've reached out to them at<EMAIL_ADDRESS>to ask if they have more info.

I got a response from the County with directions on how to join their owner/addresses CSV with their parcel boundaries. I tried once and wasn't able to get it to work but will try again.

While we have Boulder city, looks like we're still missing Boulder county.
This page describes parcel data, including download options:

http://maps.bouldercounty.org/arcgis/rest/services/Emap/BOCO_Parcels/MapServer/0
http://gis.bouldercounty.opendata.arcgis.com/datasets/89ae49d4ddf246388ee5f5e952aa84db_0.zip

Parcel shapefile data still only has APN numbers (no address info), so needs to be joined with CSV files listed on the assessor page, which are apparently updated daily at 4 am:

http://assessor.boco.solutions/ASR_PublicDataFiles/Account_Parcels.csv
http://assessor.boco.solutions/ASR_PublicDataFiles/Owner_Address.csv

Verified the join of those 3 files will result in the correct addresses (but PR still needed to automate this).
QGIS preview:

We have coverage here now, closing.


Arch migrator for cairomm-1.14

This PR is for the cairomm-1.14 branch.
This feedstock has two branches:

main (which emits an output package named cairomm-1.16)
cairomm-1.14 (which emits an output package named cairomm-1.0)

The former has already undergone Arch migrator, but the latter has not.  This PR is for the latter.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)

@conda-forge-admin please rerender


create plug-in interfaces for http-request, http-response, http-headers

Creation of a http-client library to be used as the interfaces for REST and specific http clients.
Essentially, this part from discussion in PR #31

@jimkring
Naming convention... so we start on a good footing.
Context:
I sometimes put hyphens in my class names when I'm unsure where it's going to end up... but that's not any standard that I know and I certainly do a lot of renaming when the interfaces coalesce. Hyphens are especially frowned upon in Python where underscores are more traditional (some popular dictionary serialization libraries actually do not work with hyphens, which makes my python colleagues mad) . dotNet is more of a mix of camel and pascal case conventions.
Before I start pushing classes and interfaces around... I'll wait for comments.
Some possible variants:

[ ] http-client, http-client-basic
[ ] http-client, basic-http-client
[ ] http_client, http_client_basic (snake_case)
[ ] httpClient, httpClient.basic (camelCase)
[ ] HttpClient, HttpClient.Basic (PascalCase)
[ ] httpClient (camel interface), BasicHttpClient (pascal concrete classes)
[ ] something else to propose?

Now that I`ve listed a few, my preference would be for :
Interfaces (and abstract classes) in camelCase, and concrete implementations in PascalCase.
That would result in

httpClient
BasicHttpClient or HttpClient.Basic

Dot Extension for class hierarchy? BasicHttpClient vs HttpClient.Basic
Definitely nice for maintainers to follow the trace of what inherits from what. Easy to sort on disk when dot notation is used.
I tend to follow the dot notation for lvlibs, so that PPLs can be sorted based on dependencies.
Classes too? It makes for longer names and users of the library might not care much?

Good / Interesting Discussion on here
(this also feels like a good conversation to have at something like GLA as a community topic in general).
My feedback is basically derived from what I've practically experienced in how we use these types of libraries as build artifacts :
We work almost exclusively with PPLs for re-use libraries.  In extended structures, it is often very helpful to have a level of uniformity in related library names.  PPLs tend to end up in one giant global folder for ease of use/access, so it's very useful to be able to quickly find and interpret what you're seeing from that perspective.
As a consequence, we've found that prefixing related libaries with the same name has a lot of value... so something like:

httpClient
httpClient-NIAdvanced
httpClient-NET

Would be my strong preference.
I've found that I've developed a fairly strong aversion to "." characters in file names (especially stuff that end up as build artifacts... like PPLs) as it can also occasionally upset filename parsers, and have shifted to either hyphens or underscores.
My other recommendation is that Library name == Primary Class name for extended classes:
httpClient-NIAdvanced.lvclass:httpClient-NIAdvanced.lvcass
This helps if there's a need to dynamically load the classes, as you only need to keep track of one thing.  This would not apply to the main "interface" library which also tends to contain a couple of sub-classes, and will already be in memory anyway.
I don't have a particularly strong preference on camalCase vs PascalCase vs -/_  .  I mostly use PascalCase on my day-to-day development, with "User Facing" APIs having spaces in the names (exactly for the previous point on it being easier to read/interpret).

@jyoung8711

My other recommendation is that Library name == Primary Class name for extended classes:
httpClient-NIAdvanced.lvclass:httpClient-NIAdvanced.lvcass

I think you may have meant httpClient-NIAdvanced.lvlib:httpClient-NIAdvanced.lvcass). Can you confirm?
Wrapping extension classes (plug-ins) in an .lvlib lends itself to building to PPLs, for sure.
One thing I like to do for for plug-in (concrete implementation) templates put the specific name ONLY in the lvlib name, like this:
httpClient-NIAdvanced.lvlib:httpClient.lvcass
httpClient-NIAdvanced.lvlib:httpHeader.lvcass
httpClient-NIAdvanced.lvlib:httpRequest.lvcass
httpClient-NIAdvanced.lvlib:httpResponse.lvcass
Note that the lvclass'es inside the lvlib all have the same name as the base interface that they are implementing.
The main reason I like this approach for plug-ins is that instantiating a new plugin from the template involves simple copying the plugin-template folder and then renaming ONLY the lvlib: httpClient-Template.lvlib -> httpClient-FancyNewClientLibrary.lvlib
This:
httpClient-Template.lvlib:httpClient.lvcass
httpClient-Template.lvlib:httpHeader.lvcass
httpClient-Template.lvlib:httpRequest.lvcass
httpClient-Template.lvlib:httpResponse.lvcass
Becomes this:
httpClient-FancyNewImplementation.lvlib:httpClient.lvcass
httpClient-FancyNewImplementation.lvlib:httpHeader.lvcass
httpClient-FancyNewImplementation.lvlib:httpRequest.lvcass
httpClient-FancyNewImplementation.lvlib:httpResponse.lvcass
I might also be OK with underscores instead of hyphens, if CamelCase is used for ClassNames:
httpClient_FancyNewImplementation.lvlib:httpClient.lvcass
httpClient_FancyNewImplementation.lvlib:httpHeader.lvcass
httpClient_FancyNewImplementation.lvlib:httpRequest.lvcass
httpClient_FancyNewImplementation.lvlib:httpResponse.lvcass
Thus, it would get built to a PPL as:
httpClient_FancyNewImplementation.lvlibp
I might also prefer to put the interface name at the end like this:
DotNet_httpClient.lvlibp
PureG_httpClient.lvlibp
NIAdvanced_httpClient.lvlibp
Basic_httpClient.lvlib
Side note: What would we do we do if a single class implements multiple interfaces?

Should override methods include the interface name, to avoid collisions with ancestor classes and interfaces?
How would we name the library?  DotNet_httpClient_systemComponent.lvlibp (if it implements both the httpClient and systemComponent interfaces)

For this last one, I guess that's why I don't have a convention for including the interface name in the concrete implementation, except informally.  Thus:
DotNetHttpClient.lvlibp
PureGHttpClient.lvlibp
NIAdvancedHttpClient.lvlibp
BasicHttpClient.lvlib
Then, if we want to know what interfaces a plugin supports, we would interrogate it after we load i (test which interfaces it supports by either trying to "type cast" it to known plugin types or by calling a general plugin interface with interface descriptor methods).

@jyoung8711

My other recommendation is that Library name == Primary Class name for extended classes:
httpClient-NIAdvanced.lvclass:httpClient-NIAdvanced.lvcass

I think you may have meant httpClient-NIAdvanced.lvlib:httpClient-NIAdvanced.lvcass). Can you confirm?

I did.  Thanks :)

Wrapping extension classes (plug-ins) in an .lvlib lends itself to building to PPLs, for sure.
One thing I like to do for for plug-in (concrete implementation) templates put the specific name ONLY in the lvlib name, like this:
httpClient-NIAdvanced.lvlib:httpClient.lvcass httpClient-NIAdvanced.lvlib:httpHeader.lvcass httpClient-NIAdvanced.lvlib:httpRequest.lvcass httpClient-NIAdvanced.lvlib:httpResponse.lvcass
Note that the lvclass'es inside the lvlib all have the same name as the base interface that they are implementing.
The main reason I like this approach for plug-ins is that instantiating a new plugin from the template involves simple copying the plugin-template folder and then renaming ONLY the lvlib: httpClient-Template.lvlib -> httpClient-FancyNewClientLibrary.lvlib

I had not seen this before, or really considered this.  I like the simplicity a lot. It would definitely make templating the interface/plugin a bit easier.  It's amazing the simple options you can just completely overlook sometimes...

I might also prefer to put the interface name at the end like this:
DotNet_httpClient.lvlibp PureG_httpClient.lvlibp NIAdvanced_httpClient.lvlibp Basic_httpClient.lvlib

This is the options I would prefer to avoid most, mostly from the resulting folder PPL build organization.  If you have a folder with 100 PPLs in it, finding the "HTTP Client" related ppls is a bit tedious.

Side note: What would we do we do if a single class implements multiple interfaces?

Should override methods include the interface name, to avoid collisions with ancestor classes and interfaces?
How would we name the library?  DotNet_httpClient_systemComponent.lvlibp (if it implements both the httpClient and systemComponent interfaces)

Good questions, and to be completely honest, I think I've rolled out interfaces a grand total of 3 times in my own code use, and none of them have inherited from multiple interfaces, so that use case hasn't occurred to me. Most of the places where I could have utilized interfaces were developed before interfaces were available as a feature, and I didn't want to refactor.
That said, I think for this project, it would be pretty unlikely to have multiple inheritance for anything provided here in order to reduce dependencies, so I don't think Id worry about that from the class/library perspective.
I'm fairly agnostic about method names, though as long as we're avoiding any "known" namespacing conflicts, I think we're in pretty good shape.  I thought the namespacing that @francois-normandin used in his initial version of this was pretty reasonable.

For this last one, I guess that's why I don't have a convention for including the interface name in the concrete implementation, except informally. Thus:
DotNetHttpClient.lvlibp PureGHttpClient.lvlibp NIAdvancedHttpClient.lvlibp BasicHttpClient.lvlib
Then, if we want to know what interfaces a plugin supports, we would interrogate it after we load i (test which interfaces it supports by either trying to "type cast" it to known plugin types or by calling a general plugin interface with interface descriptor methods).

I think this is where my "edit" is coming from.  I revised my previously stronger statement about the library MUST include the parent name to "it would be nice if it looked similar" in this case, just pulling the "http" nomenclature to the beginning of the name would be useful from an organizational function... which still fits, because likely all these things are really primarily Http libraries.

Thanks @jyoung8711! 👍


fix clickhouse vector store in hub

Description
Fix name in llama hub
Type of Change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Added new unit/integration tests
[x] Added new notebook (that tests end-to-end)
[x] I stared at the code and made sure it makes sense

Suggested Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added Google Colab support for the newly added notebooks.
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I ran make format; make lint to appease the lint gods

@gingerwizard can you merge main one more time? There was some weird circular import issues in main (rip)

@logan-markewich try now

k this is good i think @logan-markewich


Bridge driver to Warn if xt_conntrack not present

Related to https://github.com/docker/docker/issues/20145
Signed-off-by: Alessandro Boch<EMAIL_ADDRESS>

LGTM

LGTM


Do FreeCEN files have headers?

Looking at the initial text for updated FreeCEN coords, realised that some actions within FreeREG depend on headers.  Do CEN files have Headers in the same way as REG files? Are they different in any way?
This information will be needed in planning Validation.

Not knowing what the header does in FreeREG makes it hard to understand the
question.
The only thing that FreeCEN have that could be construed as  Header(s) by
this order.

Census Year then by
Census County, and then by
Piece number
From that we then allocate it to a transcriber to start the Transcribing in
the pre designed Spreadsheet  ( Each of the 25 columns has a title.)

As I said not knowing FreeREG this can only be a guess.
On Wed, 17 Jul 2019 at 10:36, PatReynolds<EMAIL_ADDRESS>wrote:

Looking at the initial text for updated FreeCEN coords, realised that some
actions within FreeREG depend on headers. Do CEN files have Headers in the
same way as REG files? Are they different in any way?
This information will be needed in planning Validation.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/FreeUKGen/FreeCENMigration/issues/711?email_source=notifications&email_token=ADIL3VWZET6KAEJWZDQVEFLP73RYLA5CNFSM4IEONFYKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G7VXLVA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADIL3VTBTZM2IBO5WXEQKALP73RYLANCNFSM4IEONFYA
.

@pat and @richpomfret to find out methodology for transcriber to make a change to something that has already been upload. Or perhaps @FreecenBren can assist?

Example of header row (from FreeCEN1 example spreadsheet)

Additional fields needed in header row:
transcriber ID
image source (e.g. LDS)

Establish what a VLD file looks like and how a file changes when it gets processed (via CVS check etc).

Ability to see/view the VLD 'headers' now on TEST3 and will be deployed to production too.


Rename MacOS Helpers

Discussed in https://github.com/nwutils/nw-builder/discussions/930

Originally posted by ayushmanchhabra August 22, 2023
Refs: https://github.com/nwutils/nw-builder/issues/897#issuecomment-1630190132
Refs: #705
@zkrige I don't have a MacOS to test this on. Are you up for creating a PR to test this?

yes I'll test this as soon as I get a chance

Unless Ayush changed something again recently, I already teste this and it failed.

See https://github.com/nwutils/nw-builder/commit/9a92688d848a83a8317196c254009a6c1eeffa44


[elasticsearch] remove usage of ELASTIC_USERNAME

This commit remove the usage of ELASTIC_USERNAME and replace it by
hardcoded "elastic" username.
This is required because ELASTIC_USERNAME don't seem to be supported
anymore supported by Elasticsearch (I couldn't find the exact version
where support was stopped).
This was already done as part of https://github.com/elastic/helm-charts/pull/1384 in the main branch.

transient issues, merging


(PDB-4081) pdbbox tuning

Sets a few tuning parameters to make the default postgresql installation deal
with the write-heavy load that puppetdb has.
This is best combined with disabling fsync during startup, via:
pg_ctl -o "-F" start

Test PASSed

Test PASSed

CLA signed by all contributors.

Test PASSed

Test PASSed

Test PASSed

lgtm - just needs a rebase.

Test FAILed

Test PASSed


Berdin

@sheggen I fulfilled everything, double checked the code and commented.

You should not have created your code in hw03_stubs.py. That was a template file. If I accept your PR, it would ruin everyone else's ability to do the assignment, because you overwrote the sample file.
I'll help you fix this in class tomorrow. we'll need to move your code to a new file and revert this file.

@sheggen I edited my code: https://github.com/Berea-College-CSC-226/hw03-main/tree/berdin

@sheggen

You still had changes getting pushed into hw03_stubs.py. However, they are just blank lines, so they should not harm anything, so I am going to accept the PR.


B: Generator uses conflicting variable names in config()

When creating an entity that starts with "i", the index variable used in config conflicts with the struct variable.
For example:

Create entityentc init Item

Generate codeentc generate ./ent/schema

Run codego run main.go

Result:ent/item.go:78:4: invalid operation: i[i] (type int does not support indexing)

Conflicting generated code:
func (i Items) config(cfg config) {
	for i := range i {
		i[i].config = cfg
	}
}

"i" variable of type Items conflicts with "i" variable for index

Thanks for opening this issue. Sending a fix.

Closed via #58


Allow experimenters to access manual LLM mediators in chat stage

Right now, you can configure LLM mediators to be "automatic" (queries for response after every participant chat message) or "manual" (only sends prompt when experimenter hits a button), but we only connect "automatic" to chat logic.
(The MVP current manual option is an experimenter mediation panel when you can directly send a mediation message OR write a prompt, etc. and click to generate LLM response. However, the latter must be composed from scratch every time. Ideally, we want the option to use any of the "manual" mediators' prompts that were configured during experiment creation time.)

See #231


Add auto-detection for any file using # or ; for comments

Sadly, most of the files I encounter that would benefit most from this package's highlighting lack any consistent file-extension or syntax. It's quite common to see build scripts with bareword token-lists that have #-delimited comments (at least with the projects I've been delving through lately).
This PR adds a particularly nifty feature to automatically enable this grammar for any unrecognised filetype which uses # or ; to start comment-lines (the actual pattern it looks for is controlled by a package setting which is, by default, /^\s*[#;]\s/m; An additional package setting restricts matching to files which contain n or more comment-lines, to avoid incorrectly highlighting a file which happens to have one ; line like this.
The auto-matching feature is extremely conservative: it only checks editors without an existing grammar, and also makes a habit of clearing overridden paths when closing affected files. This ensures that overridden paths won't clog the project's cache, or that an affected file will take precedence over a language package the user installs later.
Note: The specs currently aren't doing anything, because, uh, I suck at working with Jasmine and assume every test-runner works the same way Mocha does (and the waitsForPromise/runs stuff has always confused me). I decided to save myself any further frustration until I was 100% sure you'd accept this, since there's a chance it might be doing too much for this package.
(I could also use some help figuring out why the specs are timing out on the first test when the specs are run, haha)
/cc @lee-dohm

This looks great and I would definitely accept it. If you want to use Mocha instead (especially since you're using JS for the code), you can use the atomTestRunner system like in my soft-wrap-indicator package: https://github.com/lee-dohm/soft-wrap-indicator.
See:

https://github.com/lee-dohm/soft-wrap-indicator/blob/master/package.json#L32
https://github.com/lee-dohm/soft-wrap-indicator/blob/master/package.json#L21-L24
https://github.com/lee-dohm/soft-wrap-indicator/blob/master/spec/runner.js

Ah! Awesome, thanks for that. =)

Oh! I also updated the screenshot used in the readme file... you should also review the readme's amended wording and let me know if anything should be rewritten. After coding for so many hours, it becomes impossible to tell what reads "naturally" (if you get what I mean…)

Most definitely. I'll take a look soon :+1:

Okay, I need help again. :( I swear I never had this issue with atom-mocha... if I try loading this package in Mocha's beforeEach hook...
atom.packages.activatePackage('language-generic-config'),

... it fails at the first test:

Could not resolve language-generic-config to a package path

I pushed my changes so you can see (although I forgot to include the line in question...)
Eurgh, I feel like a dumbass. 😁

Taking a look :+1: Though it is still Sunday for me, so my brain is in low gear today :laughing:

It looks like when running specs with the generic test runner now ATOM_HOME gets set to a temp directory:
Package Dir Paths: /var/folders/hg/1_c73qcs2bv3zh23pn9dsrjh0000gn/T/tmp-4470022hrEos34iE2/dev/packages,/var/folders/hg/1_c73qcs2bv3zh23pn9dsrjh0000gn/T/tmp-4470022hrEos34iE2/packages

And since language-generic-config isn't in or symlinked to one of those directories, it can't be found to be activated.

Possibly, although that feels awfully circuitous and inefficient... currently checking if there's a more direct way...

Ah... the solution turned out to be loading and activating the package directly. =)
grammarPackage = atom.packages.loadPackage(join(__dirname, ".."))

Let me know if there's anything else you need.

That definitely fixed the loading problem and was much more elegant than my solution :grinning:
I'm getting the following test failures though:
$ atom --test spec
GVA info: Successfully connected to the Intel plugin, offline Gen75
Error Downloading Update: Could not get code signature for running application

  ․!!․․!

  3 passing (302ms)
  3 failing

  1) Auto-matching when opening an unrecognised file-format when the file has comments starting with `#` enables the `generic-config` grammar:

      AssertionError: expected 'text.plain.null-grammar' to equal 'text.generic-config'
      + expected - actual

      -text.plain.null-grammar
      +text.generic-config

      at expectScopeToBe (/Users/Lee/Source/lee-dohm/language-generic-config/spec/helpers.js:21:63)
      at waitToOpen.then (/Users/Lee/Source/lee-dohm/language-generic-config/spec/automatch.spec.js:63:11)

  2) Auto-matching when opening an unrecognised file-format when the file has comments starting with `;` enables the `generic-config` grammar:

      AssertionError: expected 'text.plain.null-grammar' to equal 'text.generic-config'
      + expected - actual

      -text.plain.null-grammar
      +text.generic-config

      at expectScopeToBe (/Users/Lee/Source/lee-dohm/language-generic-config/spec/helpers.js:21:63)
      at waitToOpen.then (/Users/Lee/Source/lee-dohm/language-generic-config/spec/automatch.spec.js:71:11)

  3) Auto-matching Package settings when the user disables the `enableAutomatch` setting "before each" hook for "clears all grammar overrides assigned by the package":

      AssertionError: expected 'text.plain.null-grammar' to equal 'text.generic-config'
      + expected - actual

      -text.plain.null-grammar
      +text.generic-config

      at expectScopeToBe (/Users/Lee/Source/lee-dohm/language-generic-config/spec/helpers.js:21:63)
      at waitToOpen.then (/Users/Lee/Source/lee-dohm/language-generic-config/spec/automatch.spec.js:99:11)

I'm going to keep looking at it as I can. My daughter is arriving soon for our weekly dinner so I might not be able to get very far before tomorrow.

It looks like it works against Stable but not the latest master. I'll go ahead and merge it as-is and see if I can figure out what the difference is when testing against the development version of Atom.

Thanks very much for this awesome feature :bow:

Oh, my pleasure! :D And I'm not sure where the failures were coming from. :/ Hopefully they get sorted out.
Thanks!


Type inference fails on nested anon functions

Consider:

julia> f = @anon () -> 5.0
() -> quote  # none, line 1:
    5.0
end

julia> g = @anon () -> f()
() -> quote  # none, line 1:
    Main.f()
end

julia> @code_warntype f()
Variables:
  f::FastAnonymous.Fun{Ptr{Void} @0x00007fcb81b12150,0x79c3814622fcabc4,()}
  __X__::Tuple{}

Body:
  begin  # /home/mauro/.julia/v0.4/FastAnonymous/src/FastAnonymous.jl, line 32:
      $(Expr(:meta, :inline)) # none, line 1:
      return 5.0
  end::Float64

julia> @code_warntype g()
Variables:
  f::FastAnonymous.Fun{Ptr{Void} @0x00007fcb81c87350,0xf7a3ff9717292be4,()}
  __X__::Tuple{}

Body:
  begin  # /home/mauro/.julia/v0.4/FastAnonymous/src/FastAnonymous.jl, line 32:
      $(Expr(:meta, :inline)) # none, line 1:
      return ((top(getfield))(Main,:f)::Any)()::Any
  end::Any

on Julia 0.4.6
Probably nothing that can be done, but I thought I report it here for others to find.

Actually this seems to be also the case in Julia 0.5 overhauled functions: https://github.com/JuliaLang/julia/issues/17028

As @yuyichao pointed out in JuliaLang/julia#17028, use const:
julia> const f = @anon ()-> 5.0
() -> quote  # none, line 1:
    5.0
end

julia> g = @anon ()-> f()
() -> quote  # none, line 1:
    Main.f()
end

julia> @code_warntype g()
Variables:
  f::FastAnonymous.Fun{Ptr{Void} @0x00007f78e8316050,0x33875dc5511884b6,()}
  __X__::Tuple{}
  ##f#7550::FastAnonymous.Fun{Ptr{Void} @0x00007f78e94168b0,0x79c3814622fcabc4,()}
  ##__X__#7551::Tuple{}

Body:
  begin  # /home/mauro/.julia/v0.4/FastAnonymous/src/FastAnonymous.jl, line 32:
      $(Expr(:meta, :inline)) # none, line 1:
      return 5.0
  end::Float64


[dv] PMP related functional coverage points

Adding MSECCFG CSR related functionality also some write checks etc.
Signed-off-by: Canberk Topal<EMAIL_ADDRESS>

Hi Greg, thanks for the review I corrected most of things that you mentioned. About the last two comments, I tried to do the thing that you asked but not sure if it is sound enough. I would really appreciate if you could have another look. Thanks!

Hi @GregAC! Any chance of another look? It would be nice to get some of these closed.


Solve #6 by renaming the class and improving the tests and initialization

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

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

Totals

Change from base Build<PHONE_NUMBER>0:
0.0%

Covered Lines:
0

Relevant Lines:
0

💛  - Coveralls


cameraLive event doesn't fire in Safari

For some reason, Webcam.js has stopped working in the latest version of Safari on El Capitan (Safari v10.1.2).
While the load event is received, the live event no longer fires. Looking through the code, it looks like the ActivityEvent.ACTIVITY event is not firing at any time in Safari now. Would it be possible to use the unmute status in order to fire the "live" event?
Capturing a picture using the snap method still works, but it would be really nice to have the live event back.
(Unfortunately I don't have Adobe Flash, otherwise I would try to fix it myself.)

Works fine for me:

OS X El Capitan 10.11.6
Safari 10.1.2 (11603.3.8)
Adobe Flash <IP_ADDRESS>
I confirmed that the live event fires:
https://pixlcore.com/demos/webcamjs/demos/events.html

Try reinstalling your Flash player extension maybe?  It can corrupt itself sometimes (I've seen this first hand).  Also, I know it's a total cliché, but restarting your Mac often solves Flash / webcam issues.  The whole Flash extension can get into a bad state and needs a restart sometimes.
Good luck!
- Joe

First off, thank you very for your super fast response.
As it turns out, you where absolutely right – a quick restart fixed the problem.
Out of curiosity, is there any advantage over using the STATUS "unmuted" event?

No problem!

Out of curiosity, is there any advantage over using the STATUS "unmuted" event?

To be honest, I have no idea what that event even is.  Years ago I learned just enough ActionScript to write the Flash movie for this project, then I promptly ejected everything from my brain, and took many showers.  If you asked me today, I couldn't even write a "hello world" program in AS 😝
I'd be happy to change it if that event is better, but I don't even have Adobe Flash installed on my machines anymore.  I'd need someone else to compile the SWF.

Ah hehe, me neither that's why I opened the issue in the first place. I wouldn't even thing about using Flash today if it wasn't used by a Wordpress plugin which a customer of mine wanted. Great to see it works now though if the user really has no browser supporting getUserMedia.
Thanks!


actions/checkout fails with "|##[error]Input required and not supplied: token"

Describe the bug
Using the Github server you can checkout third party repositories, but using the the .\bin\Runner.Client.exe checking out third party repos fails.
To Reproduce

When I run the following command:
.\bin\Runner.Client.exe --workflow .github\workflows\Windows-continuous-integration.yml --event push --payload CB_test.json -P 3. I see the following error:

|##[error]Input required and not supplied: token
[Windows Integration Builds / continuous-integration] Failed: Checkout wxWidget 3.1.6 source
[Windows Integration Builds / continuous-integration] Running: Post Checkout wxWidget 3.1.6 source

Expected behavior
The report should be checked out as it is a public repo and as such does not require any token. I am not the owner or dev of wxWidgets.
Runner Version and Platform
$ .\bin\Runner.Client.exe --version
3.8.0
OS info:
Windows 10  21H2 patched up to the latest from earlier this week (16-MAy-2022)
What's not working?
The following fails in the workflow file using the .\bin\Runner.Client.exe , but works on gitub.com :
      - name: Checkout wxWidget 3.1.6 source
        uses: actions/checkout@v3
        with:
          repository: 'wxWidgets/wxWidgets'
          path: 'wxWidgets-3.1.6'

Job Log Output
Attached is the non verbose log and a verbose log and the workflow file I am using. My public repo is https://github.com/acotty/CodeBlocks_Unofficial_Testing , but it may not have the latest workflow file as I am trying to get it fully working.
Runner and Worker's Diagnostic Logs
I cannot find any runner.log files
Additional Info
I tried with --remote-checkout and the checkout for acotty/CodeBlocks_Unofficial_Testing failed with the same error.
The CB_test.json is:
{
"inputs": {
"x": "Hello World from event"
}
}
ZZ_Fail_Verbose.txt
ZZ_Fail.txt
Windows-continuous-integration.yml.txt

The problem is that the official actions/checkout has a implicit required input token with default value  ${{github.token}}, which is intentional empty since most actions work without any token.
I suggest to create a Personal Access Token
Then run .\bin\Runner.Client.exe -s GITHUB_TOKEN and provide your token.
You can also create a .secrets file in your repo with the following content
GITHUB_TOKEN=replaceThisTextWithYourPersonalAccessToken

This program is unable to generate a GITHUB_TOKEN automatically unless you configure Runner.Server as a github app for your account or organization, github actions is a github app and can create a token automatically.
There are more actions with a similar behavior like actions/github-script.
Probably it is possible to link this issue if the token parameter of actions/checkout is empty and you are checking out a different repository.

Thanks very much for the info. It works and am now getting the same failure as on github.com due to environmental issues that I need to solve.
Some feedback on the solution is that if you use the .\bin\Runner.Client.exe -s GITHUB_TOKEN  option then you need to press enter as the app stops near the the beginning of the process when it displays the token, but using the .secrets file does not require you to press enter or do anything.
I would suggest adding it somewhere to the readme.md file so other people do not fall into the same hole.


added ga4 tracking to docs site

Added ga4 tracking basics to our docs page headers.
Reason for Change:
We currently have no visibility as to the journey of users who go from WWW-> Docs or vice versa, or who go straight to signups from docs. As we make more changes to docs that will hopefully drive traffic, we should have telemetry to be able to observe it.
Testing Strategy:
Tested locally. Also note this tag is the same as on WWW, and we've set up cross-domain tracking for GA4 on the GA4 console.

🚀 Deployed on https://65d6716e56c7db13d74724f1--cozy-fox-0defec.netlify.app


Resolve ToDos in ocis.php related to OdataError

https://github.com/owncloud/ocis-php-sdk/blob/main/src/Ocis.php has some ToDos about calls that might return an OdataError object.
        if ($allDrivesList instanceof OdataError) {
            // ToDo: understand how this can happen, and what to do about it.
            throw new InvalidResponseException(
                "listAllDrives returned an OdataError - " . $allDrivesList->getError()
            );

If something goes wrong in the underlying calls down the stack and across to the server, then libre-graph-api calls can return an OdataError object, rather than throwing ApiException.
Sort out what to do if this happens at run-time.

@phil-davis @amrita-shrestha is this done?

yes, done in #201


remove formatter comments

Codecov Report

Merging #167 into master will decrease coverage by 0.05%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #167      +/-   ##
============================================
- Coverage     79.58%   79.52%   -0.06%
+ Complexity      448      447       -1
============================================
  Files            76       76
  Lines          1729     1729
  Branches        192      192
============================================
- Hits           1376     1375       -1
  Misses          267      267
- Partials         86       87       +1

Impacted Files
Coverage Δ
Complexity Δ

.../uber/jaeger/samplers/RemoteControlledSampler.java
91.54% <0%> (-1.41%)
18% <0%> (-1%)

Continue to review full report at Codecov.

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


GEOMESA-2218 Create printf converter transform

Adds format/printf converter functions.

Signed-off-by: Jim Hughes<EMAIL_ADDRESS>

:+1:


When trying to delete a system-global archive rule that the user does not have permission to delete, gets 404 instead of 403

BUG - Adding this to track, will update details later.
Anchore Version: 0.4.0
What happened:
When authenticated as a non-admin user, deleting a system-global archive rule results in 404.
What did you expect to happen: Deletion attempt should fail with a 403 permission denied since the rule is system-global
How to reproduce the issue:
anchore-cli --u admin --p <adm pass> analysis-archive rules add 100 100 archive --system-global
anchore-cli --u nonadmin -p <pass> analysis-archive rules list
anchore-cli --u nonadmin -p <pass> analysis-archive rules del <ruleId>

I can't seem to replicate this problem anymore:
anchore-cli --u user1 --p password123 analysis-archive rules del c797dae92b39402589ef4e340c91a974
Error: Not authorized. Requires permissions: domain=account1 action=deleteArchiveTransitionRule target=*
HTTP Code: 403
Detail: {'error_codes': []}


Caps lock on Mac has no key callback

OS and version: macOS Mojave 10.14 (and happened on another Mac not on Mojave)
Release or commit: 3.2.1 stable
Error messages: None
Events output: None
I can detect every key on my keyboard apart from the caps lock with:
void key_callback(GLFWwindow* win, int key, int scancode, int action, int mods) {
This is set from:
glfwSetKeyCallback(win, key_callback);
The key_callback function isn't even called when the caps lock key is pressed on the keyboard.
Any ideas?

It is possible to detect when caps lock is turned on/off, so you would get a GLFW_PRESS event when the user presses the caps lock key and turns caps lock on and you would get a GLFW_RELEASE event when the user presses the caps lock key and turns caps lock off. See this Technical Q&A from Apple for reference.
However, treating the caps lock key as a regular key and getting events when the physical key is released seems to be more difficult. Apparently it is not possible to get this information from Cocoa events (Stack Overflow 1) and one would have to fall back to IOHIDManager or similar (if you want to go this route there is more information here: Stack Overflow 2).

Can confirm fixed in 3.3, thanks 👍


[Ruby] Node variants don't appear to be at the latest LTS release

Hey there! In the process of getting an automated PR for one of our dependencies in a Rails app (namely, ESLint 5.0.0) and our builds for that are failing because the circleci/2.4.2-node-* images are installing an older version of node:
7786 ◯ : docker run -it  circleci/ruby:2.4.2-node
$ node -v
v8.9.3

...when the current LTS Carbon release cycle is a little further:
         v8.9.0   (LTS: Carbon)
         v8.9.1   (LTS: Carbon)
         v8.9.2   (LTS: Carbon)
         v8.9.3   (LTS: Carbon)
         v8.9.4   (LTS: Carbon)
        v8.10.0   (LTS: Carbon)
        v8.11.0   (LTS: Carbon)
        v8.11.1   (LTS: Carbon)
        v8.11.2   (LTS: Carbon)
        v8.11.3   (Latest LTS: Carbon)

...and ESLint ultimately wants a version that's at least 8.10.0
I'm having some trouble parsing out whether it was intentionally pinned to that minor version or if the containers simply need to be refreshed on CircleCI's side (I found this issue, but it's unclear to me as to whether this still applies). Is that the case? If so, is there a way to for the container specification to specify a different version of Node, or are we (the royal we, AKA the community at large) waiting for any particular bugfixes to land before upgrading?
Also, please excuse any improper terminology for how these containers work! I'm a bit of a newbie to the docker world, so I'm still somewhat dipping my toes in with this stuff.

The 2.4.2 image is old - use the 2.4.4 image.
https://hub.docker.com/r/circleci/ruby/tags/


[BugFix](jdbc catalog) fix OOM when jdbc catalog querys large data from doris

Proposed changes
Issue Number: close #xxx
Problem summary
When using JDBC Catalog to query the Doris data, because Doris does not provide the cursor reading method (that is, fetchBatchSize is invalid), Doris will send the data to the client at one time, resulting in client OOM.
The MySQL protocol provides a stream reading method. Doris can use this method to avoid OOM. The requirements of using the stream method are setting fetchbatchsize =  Integer.MIN_VALUE and setting ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 33.31 seconds
stream load tsv:          446 seconds loaded<PHONE_NUMBER>9 Bytes, about 159 MB/s
stream load json:         25 seconds loaded<PHONE_NUMBER> Bytes, about 89 MB/s
stream load orc:          73 seconds loaded<PHONE_NUMBER> Bytes, about 14 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230326044911_clickbench_pr_120700.html


LMD GHOST scoring is broken

What is wrong?
See https://github.com/ethereum/trinity/pull/685/files/b4dbf6a58d444578ee1b882ca21256eaf1a5f6a4#r294035068 on issue #685.
The score is the sum of the attestation data and the block root data but this obscures the semantics of the fork choice scoring.
The attestation data yields a balance and only upon ties do we want to consider the block root data. The code in #685 just sums them which could result in mis-scoring a block where the balances are close and the block root puts the incorrect block as having a higher score.
How can it be fixed
We need a more flexible score type for the fork choice rule (including a way to {de,}serialize from disk).

The ForkChoiceScoringFn type should return an opaque Score type (instead of just an int).
Different fork choice scorings can provide different implementations of Score as makes sense -- the main thing Score needs is to satisfy a comparator interface and a {de,}serializing ability for writing scores to the DB.

something like:
class Score(abc.ABC):
    @abstractmethod
    def cmp(self, other: Score) -> int:
        """ Return [-1, 0, 1] if ``self`` is [less than, equal to, greater than] ``other``."""
        pass

    @abstractmethod
    def serialize(self) -> bytesOrSomething:
        pass

    @abstractmethod
    @classmethod
    def deserialize(cls, contents: bytesOrSomething) -> Score:
        pass

update from @carver
use something like this: https://github.com/ethereum/eth-utils/blob/master/eth_utils/numeric.py#L5
to enforce the "comparator" interface on our Score type

Some more background conversation: https://github.com/ethereum/eth-utils/pull/150#discussion_r275906374


Update to 2.023.3

cc @saraedum

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@isuruf: This looks good to me now. There are some warnings during the testing
**WARNING** failed to create data bin package cache folder /home/conda/feedstock_root/build_artifacts/sympow_1533253022288/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/share/cache/sympow/datafiles/le64

I have not really checked what is going on here but sympow appears to work fine (for Sage's purposes at least.)

conda doesn't keep around empty directories and mkdir fails because the parent directories are not there.

What do you think about doing something like touch $PREFIX/share/cache/sympow/datafiles/

mkdir -p $PREFIX/share/cache/sympow/datafiles/
touch $PREFIX/share/cache/sympow/datafiles/empty

Sure, would you mind touching .keep instead?


refactor(model): Stop implementing Comparable with DependencyReference

This is a single commit, based on #8705. This PR has to be merged afterwards.

@oheger-bosch @sschuberth given above comments, do you have any preference how the top commit should be changed to move this forward?

I've split-out the non-controversial commits to https://github.com/oss-review-toolkit/ort/pull/8705.

@oheger-bosch another question which just came up to me: Do you recall why it is necessary to have tests for de-serialization and serialization?  It seems that no custom serializers are at play, so normally we do no test serialization in that scenario IIUC. So, could it be an option to just drop these serialization tests from AnalyzerResultBuilderTest ?

@oheger-bosch another question which just came up to me: Do you recall why it is necessary to have tests for de-serialization and serialization? It seems that no custom serializers are at play, so normally we do no test serialization in that scenario IIUC. So, could it be an option to just drop these serialization tests from AnalyzerResultBuilderTest ?

I don't recally exactly any more. But I think these tests have been added in the progress of migrating from the old format for dependency trees to the dependency graph format. Since this was a major rewrite, it was useful to have tests in place.


[Android]fix setInstanceViewPort not effect native viewPort

fix android Call WXSDKInstance.setInstanceViewPortWidth() function is invalid to native layout

This issue is fixed in #2738


Show the Required Install Date in the Nudge window

Nudge currently shows the "Days Remaining To Update" on the left side of the window. This is of course very handy. Some people however also find it handy to simply see the actual date. To that end, this feature request is to additionally display the "Required Install Date". Currently, the only way to really show the date is to include the date in the the title or content area of the Nudge window. That is obviously info that needs to be consistently updated every time the Nudge config needs to be updated.
If you were to implement this, I could see this getting tricky with determining the format to display this in. Ideally, there would be a way to specify the format you wish to display the Required Install Date. But if you have to default to something that's perfectly fine and understandable. I imagine displaying value in the format of: YYYY Month Day HH:MM TimeZone (e.g. 2023 April 14 17:00 UTC). Others might have a better idea or recommendation.
At the very least I wanted to create the request to start a discussion. Hopefully others can see the potential value in this.

it looks pretty terrible

It looks even worse if I attempt to slim the text to fit

Maybe do the time as two lines
Required                 06/01/2024
Installation Date:    20:00 UTC
I think one of the concerns is the format of the date and time. If I was a user, I would prefer to see my time in local time versus UTC (or another time zone). Are you just passing the required date from the configuration without any translation?

I'm not sure if you missed it, but CST is not UTC, that is my local timezone (central standard time).

For historical context, I have made the decision that out of the box, it will just have MM/dd/yyyy

The original request wanted a format of MM/dd/yyyy hh:mm a zz and that is well within their right to display it this way. If they choose for it to look strange, that is ultimately on them.


Add operator== for the Value class and its children.

These check whether or not the Values have identical representation,
not whether they evaluate to the same value (which we cannot really know
at static time).
This change fixes #337 .

Realized I missed an opportunity to take advantage of std::variant's builtin operator==, update incoming.


Outer parsing is very slow on very large comments

kompile spec.k
It should go past the outer parsing step.
If I remove the comments then it completes in less than one second.
spec.zip
Not sure how slow it is because I closed it after one minute.
Discovered by @virgil-serbanuta

Bubble comments are tracked explicitly for being able to track beginning/end points for bubbles (for location information).
Maybe our management of those bubble comments has some non-linear behavior somewhere.


chaincode commit not working

Describe the bug
Chaincode commit job fabric-chaincode-commit is failing in the init container. Job throws an error while storing certificates in the vault.
Vault write API call response: {"errors":["error parsing JSON"]}

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
Job should commit chaincode
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

OS: [e.g. MacOS]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

I'll take this issue


Alternative ideas for a V2

Your V2 proposal (#35) tries to solve a very common performance problem with React and JSX in general - a problem that I've also been trying to solve in different ways for a while.
It made me think again about some ideas I've wanted to share with you for a while - I haven't done so, because it's probably a somewhat radical departure from React-likes.
There are two problems, really - let me start with the simplest problem.
Problem with hooks
The concept of hooks is partially responsible for some of the performance problems - mainly, hooks (by design) ignore the fact that components actually have at least a two-step life-cycle (initialization and rendering) and often a three-step life-cycle. (destruction.)
That is, things like initialization of state gets crammed into the render function, and get executed every time - for example:
function Component() {
  const [state, setState] = useState([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]);
  return (
    // ...
  );
}

Because state initialization is crammed into a single function, that function will construct a 15-element array at every render - but it won't actually use it after the first render, it just gets ignored and thrown away.
This can be quite weird and surprising - if you're used to reading JavaScript, and you're just learning about hooks, this is "magic" - everything we've been taught not to do, with a design that completely relies on side-effects.
Do you know ivi?
Without going too much into detail, ivi enables the same kind of functional composition as React hooks, without relying on magic - the core difference between ivi and React components is the component signature:
               (props) => VDOM      <- React
(component) => (props) => VDOM      <- ivi

As you can see, ivi adds an initialization function wrapping the render-function itself. This is not only more efficient, it's also easier to understand - the component instance isn't a hidden internal detail, the render function doesn't rely on side-effects and doesn't ignore (or repeat) state (or effect) initializations after the first render. It works just like regular JS - no surprises, and you don't need to learn any rules of hooks or use a linter to tell you about all the pitfalls and exemptions from regular JS.
This has other benefits, like avoiding closure regeneration and unnecessary caching/updates/removals of event-handlers - your const onClick=() => {} function evaluates only once during the initialization phase, and remains constant during updates, meaning the reconciler can tell that lastHandler === newHandler when diffing during updates and avoid extra calls to removeEventHandler and addEventHandler just to reattach a new instance of the exact same function.
I did manage to implement a prototype of a similar pattern in React - look at the examples in the second half of the code, you can see examples of most of what I just explained here.
Hooks are great, because they allow composition of behavior - but I think we should be able to achieve that without resorting to magic, sacrificing on performance, or requiring a linter or documentation to teach users about caveats that don't apply to normal JS.
Adding a wrapper function to the API creates a convenient and natural scope for the initialization of the component instance, which I feel is very much lacking with React hooks.
On to the second problem.
Problem with control of render boundaries
You highlighted this problem in your V2 proposal: render boundaries in React (and inherently with JSX in general) are strictly equal to component boundaries - Babel's React transformation doesn't enable an engine to implement (for example) memoization of individual nodes, as these are just expressions, and there's no way to know which expressions depend on specific properties of the props and state objects. (Side note: the JSX spec does not prescribe what the compiled output should look like - the normal transformation of JSX to JS is defined by React itself, not by the JSX standard. I'll return to this point later.)
This is particularly problematic if you use e.g. Redux or context and useReducer as shown in this article and many others recently - what they largely ignore, is the fact that, if your root component depends on the application state, then any update affecting that state will update the entire UI. For example, a single character being typed into an input on a form, might well cause an update of the entire UI.
And then, yes, of course there are ways to optimize with shouldComponentUpdate or useMemo, etc. - but the frameworks default to poor performance in these scenarios: making a seemingly insignificant change to a large program can have surprising and drastic performance implications.
Frameworks such as Svelte (and Marko, Imba, probably others) get around this problem by inventing new syntax and using a compiler and static analysis to learn, ahead of run-time, which names (from props/state) are required to update each individual node in the tree: render boundaries aren't equal to component boundaries; updates can happen anywhere in the DOM when the dependencies of expressions used in specific nodes actually change. It can differentiate nodes that can change from nodes that can't - so nodes with no expressions never need to update, and so on.
The idea of compiling React components ahead of time was even discussed here, and I think someone even implemented a prototype of a compiler, though I couldn't find that link.
I attempted to solve this problem myself with this state container prototype, which uses extra component instances to establish render boundaries - try clicking around, and watch the red render counters... as you can see, the root application never updates, only the exact nodes affected by a specific state change get updated, so updates can be as small as a value on a single input or a single text-node.
This is implemented by maintaining subscriptions at every possible render-boundary, which isn't very efficient - it requires a lot of overhead from subscription management and the extra component instance at every possible render-boundary. Obviously, what e.g. Svelte does is much more efficient and much more user-friendly, and this was just a proof-of-concept attempting to solve the problem with JSX at run-time.
What am I getting at? 😏
I'd really like to see a framework that solves both of these problems without inventing another custom syntax.
As I mentioned earlier, the JSX specification does not in fact prescribe what the compiled output of a JSX expression should look like - just that we're used to the standard React transformation where the output is a single expression with inline JS expressions, which inherently get evaluated when the JSX expression itself gets evaluated.
What if we create a different JSX transformation?
One that:

emits something more closely resembling an AST.
emits enough information to make it possible to compute an update from any individual node.
emits expressions with dependencies somehow available to evaluate on demand, e.g. via functions rather than inline expressions.
assumes an initialization step, separate from rendering.

So for example:
/** @jsx h */

import { h, createComponent, render } from "fre";

const App = createComponent(component => {
  let list = [1,2,3];
  let count = 0;

  function setCount(value) {
    count = value;
  }

  component.useEffect(() => {
    console.log("effect");

    return () => console.log("clean up");
  });

  return (

        {list.map(item => (

{item}

        ))}

{count}

      <button onClick={()=>setCount(count+1)}>add count</button>

  );
});

render(<App/>, document.body);

With the React JSX tranform, this example is meaningless - the compiled output wouldn't work. For example, setting count = value would have no effect.
I don't have a complete idea yet, but imagine a different JSX transform - one that sees createComponent being imported from fre, and transforms the AST of the function being passed in a call to that function.
This would be able to see that e.g. {count} refers to a variable in the parent scope, and therefore emits more than just the literal JS - for example:

statements like let count = 0 emit some sort of container for that state value, e.g. let $count = fre.createContainer(0).
assignments like count = value emit some sort of container update statement, e.g. $count.set(value).
JSX expressions such as {count} emit some kind of function that closes around the $count container, e.g. () => $count.value.

I don't know yet precisely what the compiled JSX nodes would look like, but likely these would be functions of some sort as well, and the emitted containers and node update functions would depend on each other somehow.
I know this is very long and a very loose idea - and possibly too far removed from current fre to even make sense as a version 2 - but what do you think?
I have seen talk of compiling JSX, but I haven't seen anyone doing it yet? 🤔

First of all, thank you for the two proposals you mentioned. I have read them carefully. Next, let me talk about them:
New hooks API
In fact, the hooks API today does have the syntactic limitations you mentioned
I have seen the implementation of ivi and can be sure that we can have a way to implement a better API.
Do you know vue-composition-api?
The same with ive, they all return an closure reder function, and the component initialize only once.
So we can reach a consensus on this point.
JSX+ compiler

I have seen talk of compiling JSX, but I haven't seen anyone doing it yet

In fact, in my country, China, many people try to add compiler for JSX, which we call it jsx-plus
such as, https://rax.js.org/docs/guide/jsxplus
Adding compilers for JSX or introducing compilers into fre may be a new breakthrough, but I don't think we can introduce the whole AOT like svelte. We still need fre core runtime.
But fortunately, I'm really interested in the direction of svelte, but I didn't think about introducing compilers into fre before this issue.
So maybe we can develop a JSX + specification in V2?
What I'm worried about is that if our specifications can't be widely recognized, itmay become even use for minority, such as Ember Lang.

I have seen the implementation of ivi and can be sure that we can have a way to implement a better API.
Do you know vue-composition-api?

I've seen this, yeah - someone is implementing this as an optional feature in Preact as well.
It seems a lot of people want to go this way - I don't know why the React team didn't listen, because this was probably the most-debated and most-upvoted topics in their early hooks RFC.
I think this is definitely a direction worth exploring.

I have seen talk of compiling JSX, but I haven't seen anyone doing it yet

In fact, in my country, China, many people try to add compiler for JSX, which we called jsx-plus

Without being able to read the descriptions, from the examples, this looks very different from what I'm suggesting - this is an extension to JSX. What I'm suggesting is more like an alternative meaning for JSX syntax, but without changing the JSX syntax itself.

Adding compilers for JSX or introducing compilers into fre may be a new breakthrough, but I don't think we can introduce the whole AOT like svelte. We still need fre core runtime.

Agreed, that's not the direction I'm trying to suggest.
The traditional React-style JSX -> JS compiler (as supported by the Babel extension and TypeScript) has many uses - it supports different engines with different concepts.
What I'm trying to describe is a different type of JSX -> JS compiler that produces more information and bindings ahead-of-time, e.g. function hooks that do require a core run-time, but these hooks and information would enable the run-time to perform updates at any sub-tree boundary, not only at component boundaries.
The compiler shouldn't be purpose-built for fre - it should be generic enough that others could potentially build their own run-times as they do with the React-style JSX -> JS compilers today.
This might be possible, for example, by emitting something more like an AST (with function literals for expressions) enabling a run-time to traverse the entire tree once at start-up to initialize components. As said, I don't know precisely what that would look like - this would require some exploration in itself. 😉

What I'm suggesting is more like an alternative meaning for JSX syntax, but without changing the JSX syntax itself
I have looked at your code again. I think I know what you said. You mean that like svelte, you have JS native reactivity through compilation.

I need time to think about the prototype 😆 .

I don't know why the React team didn't listen

I am also thinking about what kind of API I should implement, which is more suitable for fiber architecture.

I have looked at your code again. I think I know what you said. You mean that like svelte, you have JS native reactivity through compilation.

Yeah, this would enable you to do something that works similarly to Svelte, but without compiling for a specific (embedded) run-time like Svelte.
Svelte builds/embeds the entire run-time, whereas this would build a kind of minimal "specification" - so it's more like what the React transform does, but the compiled output wouldn't just be expressions that evaluate immediately, but rather hooks/functions that the run-time will invoke to implement reactivity.
Obviously this would be easier to explain if I could show you what that might look like, but I don't really know yet. 😊

hi, my friend, my name is fantasticsoul,  I am the author of Concent, the problem you point out above: things like initialization of state gets crammed into the render function, and get executed every time - for example, has been solved perfectly by Concent's setup feature.
here is online demo:
js verhttps://codesandbox.io/s/concent-guide-xvcej
ts verhttps://codesandbox.io/s/concent-guide-ts-zrxd5
let us open our imagination, we can treat hooks as a special portal in react,  it offer us amazing features like define state, define effect and etc.
So Concent use hook ability to create setup feature, now you can define component like this:
import { registerHookComp } from "concent";

const iState = {
  visible: false,
  activeKeys: [],
  name: '',
};

const setup = ctx => {
  ctx.on("openMenu", (eventParam) => { /** code here */ });
  ctx.computed("visible", (newVal, oldVal) => { /** code here */ });
  ctx.watch("visible", (newVal, oldVal) => { /** code here */ });
  ctx.effect( () => { /** code here */ }, []);

  const doFoo = param =>  ctx.dispatch('doFoo', param);
  const doBar = param =>  ctx.dispatch('doBar', param);
  const syncName = ctx.sync('name');

  return { doFoo, doBar, syncName };
};

const render = ctx => {
  const {state, settings} = ctx;

  return (

      <input value={state.name} onChange={settings.syncName} />
      <button onClick={settings.doFoo}>doFoo</button>
      <button onClick={settings.doBar}>doBar</button>

  );
};

export default registerHookComp({
  state: iState,
  setup,
  module:'foo',
  render
});

// this export is equal as code below:
export React.memo(function(props){
  const ctx = useConcent({
      state: iState,
      setup,
      module:'foo',
  });

  const {state, settings} = ctx;
  // return your ui
})

to know more details you can check the online demo,  with setup:

the class component and function component can share the business logic code elegantly!!!

no effect definition or state definition in every render time any more

sorry for disturbing your discussion , I just want to let you know a cute idea.....

Here I want to make a conclusion about V2

JSX compiler.
I have studied how to compile JSX into DOM expressions without vdom, this way is simplar with svelte.

But I don't think this applies to fre, because fre currently relies on vdom to achieve about 1KB, DOM expression will compile more codes.

extact updating and Composition API

In the past, I wanted to build in memo to make the component update exactly, but it seems that the shallow comparison of props is not a good way.
Now I know how Vue does this, because its props are reactively, not shallow comparisons.
To be able to use similar state updates in react, I wrote another library:
https://github.com/yisar/doux
In conclusion, V2 still hasn't changed much, but I think the combination of the above two points is a good way. Maybe the new framework will use them.

Fre2 is coming, and it has a new feature: recoverable exception, which is almost the same as fre1.
I still don't give up the source syntx of react. I will spend more time optimizing performance and code in the future.


I want outline-client for ubuntu

hello I have a question can I have outline-client for ubuntu ?

@Abasalt-yar This is one of our most-requested features and we are actively working on it (see https://github.com/Jigsaw-Code/outline-client/pull/323):
https://github.com/Jigsaw-Code/outline-client/issues/10


textDocument/definition does not work if cursor is inside targetSelectionRange

Description
This might be a vscode issue, just wanted to ask any workarounds or am I missing something here. I wasn't able to find any similar issue filed anywhere.
I have a textDocument/definition request as such:
[
    {
        "targetUri": "file:///Users/xyz/Downloads/jul24/my_subgraph/metadata/CartItems.hml",
        "targetRange": {
            "start": {
                "line": 0,
                "character": 0
            },
            "end": {
                "line": 11,
                "character": 15
            }
        },
        "targetSelectionRange": {
            "start": {
                "line": 0,
                "character": 0
            },
            "end": {
                "line": 11,
                "character": 15
            }
        },
        "originSelectionRange": {
            "start": {
                "line": 11,
                "character": 12
            },
            "end": {
                "line": 12,
                "character": 0
            }
        }
    }
]

Notice the targetSelectionRange is upto L11C15. When cursor is at L11C16 or C >= 16 the text definition request (Cmd + click) highlights the document correctly, but if I place cursor C <= 15 the definition request returns No references found for ...
Posting recording, here I have hardcoded the targetSelectionRange and targetRange to the above mentioned values, and I try with multiple cursor positions, when the cursor is within the targetSelectionRange Go-to-definition does not work, although the textDocument/definition response is being sent correctly to the vscode client from the debug logs (not shown in video):
https://github.com/user-attachments/assets/043e6673-461e-44ad-9d64-a618f3dc9e6f
"vscode-languageserver": "9.0.1",
"vscode-languageclient": "9.0.1",

it is a setting of vscode, you can disable it

thanks this resolves it! closing the issue


Detect and fix Ã\xa0

text = "\"Non ti suscita niente la parola pietà?\"\n \"Gli unici ai quali suscita qualcosa, sono quelli che ne hanno bisogno.\"" # Bukowski, according to Wikiquote

trash = text.encode("utf-8").decode("latin-1")

output = ftfy.fix_text(trash)
# output is '"Non ti suscita niente la parola pietÃ\xa0?"\n "Gli unici ai quali suscita qualcosa, sono quelli che ne hanno bisogno."'
# The mojibake is still there :(

weirdness = ftfy.badness.sequence_weirdness(trash)
# weirdness is -1!!

I understand that ftfy wants to be conservative when fixing the text, but this case occurs very often in Italian (the language used in the example) as we have a lot of words ending in 'à'.

FYI
this particular example can be fixed by replacing, in sequence_weirdness()
...
    adjustment = 0,len(MOJIBAKE_SYMBOL_RE.findall(text2)) * 2 - len(
        COMMON_SYMBOL_RE.findall(text2)
    )
...

with
...
    adjustment = max(0,len(MOJIBAKE_SYMBOL_RE.findall(text2)) * 2 - len(
        COMMON_SYMBOL_RE.findall(text2)
    ))
...

I think I got this problem for French too.
fixed it with  a quick regexp
cat metadata.json | jq . | ftfy |perl -pe 's/Ã/à/g'
but I realise I should have tested for the nbsp but I didn't. Worked ok though.

I think I got this problem for French too.
fixed it with  a quick regexp
cat metadata.json | jq . | ftfy |perl -pe 's/Ã/à/g'
but I realise I should have tested for the nbsp but I didn't. Worked ok though.

The case of à (and the ambiguity of whether it's followed by a space) is handled in version 5.9.


License?

Hi,
First, thank you for documenting your journey in creating a flux governed k8s cluster on Hetzner, it was an informative read!
I noticed that this repo does not include a license, could you please state what license the contents of this repository have?
Thank you.

Complete oversight on my part, I'll add one immediately!
Feel free to use this repository however you see fit :)


[ENH] Add blockfile root

Description of changes
Summarize the changes made by this PR.

Improvements & Bug fixes

...

New functionality

...

Test plan
How are these changes tested?

[ ] Tests pass locally with pytest for python, yarn test for js, cargo test for rust

Documentation Changes
Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the docs repository?

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

#2916  👈
#2915
main

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

Join @HammadB and the rest of your teammates on  Graphite

Merge activity

Oct 16, 9:29 AM EDT: A user started a stack merge that includes this pull request via Graphite.


Bingo Card Generator

Bingo Card Generator
Fixes:
#491

This is a Bingo Card Generator using HTML, CSS, and JS.
It's an application which generates a unique Bingo Card every time you click on the button and with this generated Card You can enjoy Bingo game with your friends.

Tech Stack Used:
HTML5,CSS,Javascript

Screenshot

@swapnilsparsh , plase check

Bingo Card Generator:

Fixes
#516

This is a Bingo Card Generator using HTML, CSS, and JS.
It's an application which generates a unique Bingo Card every time you click on the button and with this generated Card You can enjoy Bingo game with your friends.

Tech Stack Used:
HTML5,CSS,Javascript
Screenshot

@Mrjoy832 Thank you for your contribution. Looking forward to more such amazing contributions 🥂


Generate valid .cabal files when verbatim is used top-level (see #280)

(render top-level verbatim in-between fields and stanzas)

@vlatkoB I hope this will address it.

@sol I patched this to 0.27.0 and tested with this package.yaml
# package.yaml
name:        test
version:     '<IP_ADDRESS>'
verbatim:
  - data-dir:      data/x1
  - cabal-version: '>= 2.0'

library:
  exposed-modules:
    - Test.hs

and the result is correct now
test.cabal
name:           test
version:        <IP_ADDRESS>
build-type:     Simple
data-dir:       data/x1
cabal-version:  >= 2.0

library
  exposed-modules:
      Test.hs
  other-modules:
      Paths_test
  default-language: Haskell2010

This was one very quick resolution. :-)