uProxy supports local FAQ/info page

uProxy UI should support a "Help" or "FAQ" button, which when clicked launched a new browser tab containing our own help page - which would be served locally from the chrome/firefox extension (that way we wouldn't have to go to an easily blocked site like uproxy.org/help)
Also it would be good to have "Learn more" links throughout the uProxy UI (e.g. "Learn more about privacy" on the login screen). Those could bring up the help page and automatically jump to a specific entry (maybe using # links)

We now have the text, so this is ready for coding.

done https://github.com/uProxy/uproxy/pull/1209


shouldneverhappen Error when disposing of a blade in the "change" event

I have this simple code where I create a pane with a single input list. I want to dispose of the input list as soon as the value change
  let params = {
      type: 0,
  }

  // Create pane
  let pane = new Pane({title: 'Test Pane'})

  // Add input blade
  let input = pane.addInput(params, 'type', {
      options: {'a': 0, 'b': 1, 'c': 2}
  }).on('change', () => {
      // dispose of the blade
      input.dispose()
  })

However, when I change the input type I get the following error :
Error: This error should never happen
at new TpError
at TpError.shouldNeverHappen
at BladeRack.onChildInputChange_
at Array.forEach (<anonymous>)
at Emitter.emit
at InputBinding.onValueChange_
at Array.forEach (<anonymous>)
at Emitter.emit

Moreover, if I call input.dispose() outside of the 'change' event it works.
Also, if I replace input.dispose() with setTimeout(() => input.dispose(), 10), it works too.
Am I using the library in a way it's not supposed to or is this a bug ?

Send the code let me have a look

This is by design. There are still things to do after handling change event, so disposing blades itself in the handler is not an expected behavior.
But I think type = shouldneverhappen for this case is not appropriate so I'll change it to type = alreadydispose later.
If you still want to do it, using setTimeout is the right way as you said.

Fixed in #419. Please wait for the next release.


[NEW EXAMPLE] ErrorProne - Test Helper

General

Project name: ErrorProne
Example name: Testing bug checkers in ErrorProne
Project home page: https://github.com/google/error-prone
Programming language(s): Java
Frameworks, libraries used: JUnit, Truth

Description
Error Prone is a static analysis tool for Java that catches common programming mistakes at compile-time. It's comprised of hundreds of mostly independent bug checkers.
They employ a clever test helper to streamline testing these checkers, in a DSL-like fashion.
Links

Test Helper
Example usage (checker input is inlined)
Example usage (checker input is read from another file)

What makes it interesting

Taken from a popular, mature project, maintained by a major tech company.
Example of testing things that are non-trivial to test.
DSL-like API.
Quite common pattern among any tools that do code analysis - see below.

Other
Many related products - linters, bug checkers, etc. - implement very similar patterns.
E.g. SonarQube's CheckVerifier, Rubocop's ExpectOffence.

Draft: https://github.com/ainzzorl/goodcode/blob/4f5b4e11c240077fcfbe8a6223e199178eedf292/articles/error-prone-test-helper.md

Before publishing:

Tags: maybe "test-helper"?
Backticks and links for class names.
Forgot to include doTest?

Updated and set to PUBLISHED.


Keybase processes not compleately closing for me

Keybase GUI Version: 4.6.1-20191014130446+3592f81d6f
Windows 10.0.17134 x64
I have an issue when I try to close keybase: it still leave working processes, If I reopen keybase later it create another processes along with this remaining.

In order to close them I need to terminate them from Task Manager.


MetricValue.count incorrectly marked as int64, service returns a float

Ported from https://github.com/Azure/azure-sdk-for-go/issues/3949
Count is an int, but the JSON is a float:
error occurred unmarshalling JSON - Error = 'json: cannot unmarshal number 4.0 into Go struct field MetricValue.count of type int64' , json looks like ... {"timeStamp":"2019-01-27T04:32:00Z","count":4.0}

Here's the offending swagger (there might be other instances, please verify).
https://github.com/Azure/azure-rest-api-specs/blob/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json#L169

@aydany can you kindly take a look ?

Our application will need to be able to get Count from the metrics API. Any update on getting this issue fixed?

Thanks for reporting this.  We are looking at fixing the swagger.

Fixed by https://github.com/Azure/azure-rest-api-specs/pull/6485


Brute Force Error "0.00%  ETA: ??:??:??"

Please help. I tried to brute force but always get errors
My command;
wpscan -u www.itsmysite.com -w /root/Desktop/password.txt --username admin -r --connect-timeout 20 --request-timeout 20 --threads 1
[+] Starting the password brute forcer
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
[!] ERROR: No response from remote server. WAF/IPS? (Server returned nothing (no headers, no data))
Brute Forcing 'admin' Time: 00:00:09 <                      > (35 / 14344393)  0.00%  ETA: ??:??:??
+----+-------+------+----------+
| ID | Login | Name | Password |
+----+-------+------+----------+
|    | admin |      |          |
+----+-------+------+----------+
[!] The target seems to be down
Thank you very much in advance

This does not appear to be about cracklord.


Add community profile items #6

:tada: This PR is included in version 0.5.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


mAP depending on score_thr

Hi! me again
I've designed my own detector for persimmon Thanks to your advice.
it's mAP was 0.7 wow! your model is amazing.
btw, when I set score_thr =0.1, it decreased upto 0.58
if I set score_thr=0.3(because 0.3 is higher than 0.25 IOU), it would be right.
but I set only 0.1
why this phenomenon occured? and which mAP is real?

Don't quite understand how score_thr=0.3 is connected with IoU threshold =0.25.
Generally in 2d or 3d detection mAP is getting better with decreasing  score_thr. However this growth is usually neglible after score_thr=0.05.

Ahha thanks


Use api without Dingo/Api/Router?

Is it possible to use the default laravel router with dingo api? Would I just add in some middleware? I'm just not a big fan of it being abstracted out partially because I keep running into issues and because it doesn't really fit my use case as well to separate it.

Nope, doesn't work like that anymore.
On Thu, 27 Aug 2015 03:47 Chris LeBlanc<EMAIL_ADDRESS>wrote:

Is it possible to use the default laravel router with dingo api? Would I
just add in some middleware? I'm just not a big fan of it being abstracted
out partially because I keep running into issues and because it doesn't
really fit my use case as well to separate it.
—
Reply to this email directly or view it on GitHub
https://github.com/dingo/api/issues/608.

Let me elaborate now that I'm back on my computer.
The problem with the Laravel router is that it's pretty tightly coupled to Laravel itself. Being able to extend it is really quite difficult. This never used to be the case, however, certain changes were made to Laravel between 4 and 5 that resulted in the router being hard coded into the core.
Aside from dealing with that it just wouldn't work to utilize the Laravel router for a Lumen application.
The idea of Dingo\Api\Routing\Router is to provide the same features across both Laravel and Lumen installs and allow the package to work properly with both frameworks.
Another reason is it just keeps things separated. The API router isn't concerned with the regular router. Routes are registered separately and everything has its place.
Honestly, from a users perspective, you shouldn't notice any difference. If you find something that doesn't work too well or seems buggy. Report it. This package has only recently made it to beta so I don't expect it'll be 100% bug free.

Understood and will do! I'd like to help more too but I'm still trying to wrap my head around everything.
On Aug 26, 2015, at 7:38 PM, Jason Lewis<EMAIL_ADDRESS>wrote:
Let me elaborate now that I'm back on my computer.
The problem with the Laravel router is that it's pretty tightly coupled to Laravel itself. Being able to extend it is really quite difficult. This never used to be the case, however, certain changes were made to Laravel between 4 and 5 that resulted in the router being hard coded into the core.
Aside from dealing with that it just wouldn't work to utilize the Laravel router for a Lumen application.
The idea of Dingo\Api\Routing\Router is to provide the same features across both Laravel and Lumen installs and allow the package to work properly with both frameworks.
Another reason is it just keeps things separated. The API router isn't concerned with the regular router. Routes are registered separately and everything has its place.
Honestly, from a users perspective, you shouldn't notice any difference. If you find something that doesn't work too well or seems buggy. Report it. This package has only recently made it to beta so I don't expect it'll be 100% bug free.
—
Reply to this email directly or view it on GitHub.


ARROW-7498: [Dataset] Rename core classes before stable API

Rename DataFragment to Fragment
Rename DataSource to Source
Rename *Discovery to *Manifest
Rename PartitionScheme to Partitioner
Rename Simple* to InMemory*
Rename SchemaPartitioner to DirectoryPartitioner

Get your favorite pantone color ready, now is the time to paint the bikeshed!

I don't think what you call "partitioner" actually partitions data, does it?

@pitrou correct, @jorisvandenbossche noted this in JIRA.

So le's go with "Partitioning" then?

What is the reasoning behind the *Discovery to *Manifest rename?
For me, a "manifest" sounds something as a full description (listing of all the partitions, all files and their schema's), while the current FileSystemDataSourceDiscovery is only an incomplete description (eg only a directory name) and it discovers the full description (all files and their schema's in the directory, the partitioning of the directory)

@fsaintjacques how about a bit different approach for Discovery/Manifest.
Proposal
Remove the *Manifest postfix from the classes, and add Materialized* (or something similar/shorter) prefix for the counterpart classes, e.g.:
FileSystemSourceManifest -> FileSystemSource
FileSystemSource -> MaterializedFileSystemSource

Reasoning
Correct me if I'm wrong, but the end user will most likely interact with the *Manifest classes, because the user don't want to do the discovery manually, the user just want to describe the datasource.
If I recall correctly you were planning a DatasetManifest (DatasetDiscovery) counterpart for Dataset as well, mainly to encapsulate the boilerplate required to materialize/discover and unify the schemas of the datasources. So I'd rather imagine the following:
local = FileSystemSource(localfs, ...). # currently FileSystemSourceManifest
s3 = FileSystemSource(s3fs, ...)   # currently FileSystemSourceManifest
ds = Dataset([local, s3])  # currently this would be DatasetManifest

The "plain" classes would be used for describe a dataset, then the Dataset[Manifest] would handle the required discovery logic resulting the materialized objects having all the required metadata (file paths, schemas etc) in memory.

So le's go with "Partitioning" then?

I like Partitioning more than Partitioner (if we can't figure out a shorter alternative :).

I don't like the "Materialized" keyword, it's an implementation detail that leaks. How about we just name Discovery/Manifest to Factory. While boring, it's obvious to everyone who look at the class.

@fsaintjacques Aren't the classes without the Discovery prefixes (DataFragment, DataSource, Dataset, PartitionScheme) implementation detail by themselves?

@fsaintjacques shouldn't we call Fragment as Partition?
  /// \brief An expression which evaluates to true for all data viewed by this
  /// DataFragment. May be null, which indicates no information is available.
  const std::shared_ptr<Expression>& partition_expression() const {
    return partition_expression_;
  }

shouldn't we call Fragment as Partition?

There can be multiple Fragments in a Partition.
(at least in my head when thinking about fragments as single files and a "partition" a subdirectory with a given set of values for its partition keys)

A FileDataFragment is constructed from a single file.

So a summary of the renaming in the current state of this PR:

DataFragment -> Fragment
DataSource -> Source
Simple* -> InMemory*
*Discovery ->  *Factory
*PartitionScheme -> Partitioning
SchemaPartitioning -> DirectoryPartitioning

Are we fine with this?
I personally find "Directory" still a bit strange, as the HivePartitioning is also directory-based.


Add optional scrolling

For example if I have 6 files tagged with grapple and I display a maximum of 4, when I switch to file 6 the bar would show
... file3 file4 file5 (file6)

where the brackets represent highlighting.

Something that could also be implemented is this:
If we have more than 4 files (and we are currently on file1), the bar would display
(file1) file2 file3 file4 ...

And when we visit a file not shown in the bar, it displays
file1 file2 file3 file4 (...)


Update SAML2ClientConfiguration.java

Impossible to extend and create a custom class.

You certainly want to backport this change into the 1.9.x branch as version 1.9.5 will come sooner than version 2.0.0.


Suggestion : Update Me + Games

How about a Update Me for Games?
Im tired of finding bad games that may not work for me and may create malware
Use the same categories as google play store and the same resources/structure for Update Me
Or
You could apply it to 3.0, could be less work
Im no programmer, so i hope this idea helps you
If you want icons/better categories ( and sub categories ) then i would still use Google Play store for its icons ... Unlkely copyrighted ... If they are, then oh well
Sorry, just shooting the breeze at this point ... Thanks for coming to my TED Talk

So a separate section for Apps & Games? That would be awesome :)

Thanks for the suggestion!
Including games would definitely open up a whole new world of opportunities. However, with these opportunities also come challenges.
Right now, the scraping script already takes about 2 hours to run, and our repository is filled with a lot of apps that were added initially without much filtering.
I plan to clean up the repository to focus on essential and highly requested apps, which will help us maintain a cleaner, more efficient, and regular update-checking process. Once the repository is streamlined, I’m considering adding a feature where users can submit a Play Store app, and the system will check for available mods. However, this feature still needs to be planned, as it will require more processing power than my Raspberry Pi and will also necessitate a VirusTotal Premium API. But this won't happen immediately as I'm currently busy with refactoring and implementing the 3.0 features. Since I can only work on this project on weekends, it's a lot to handle right now.
I’ll also create a contributing.md file soon, which should help speed things up.

Ok, i think i get it
Current task is a hurdle, then once started on this suggestion, to reduce the load on your system ( til more space is provided? ) the user must check for available mod with a play store link? Which will need a VT premium
... Sounds good ... If i have nailed it
I really wish i could help ... My health has taken a turn and i have already applied for disability
If i can help with further suggestions then allow me to keep using this ... Thread? ( I dont use github for ideas or projects, except cor grabbing stuff, 'XD ) For what i can think of
Such as maybe a suggested and verified short list of 5 games, refreshed daily or by force closing the app ... I dont know if that would actually help ...

Lucky patcher has a massive collection of custom patches that can be appllied directly to the untouched apk, maybe that's worth considering? (Link) See https://patch.chelpus.com/ for the custom patches.


LocalEvaluation with debug: true Fails

Trying to set up LocalEvaluation and test that it works within our Puma setup. I don't believe it does, but I'll open a separate ticket for that once I have more concrete details. Trying to narrow in on that problem revealed debug mode causes a hard failure due to a nil logger.
      experiment = AmplitudeExperiment.initialize_local(<experiment_key>, AmplitudeExperiment::LocalEvaluationConfig.new(debug: true))
      experiment.start

Expected Behavior
Starts and logs additional debugging info
Current Behavior
Fails with:
[9] pry(main)> experiment.start
NoMethodError: undefined method `debug' for nil:NilClass

      @logger.debug("[Experiment] Fetch flag configs: #{response.body}") if @debug
             ^^^^^^
Did you mean?  debugger
from ~/.rvm/gems/ruby-3.1.3/gems/amplitude-experiment-1.1.0/lib/experiment/local/fetcher.rb:30:in `fetch_v1'

Possible Solution
Presumably @logger is expected to be passed in to the fetcher here:
https://github.com/amplitude/experiment-ruby-server/blob/main/lib/experiment/local/fetcher.rb#L8
Environment

SDK Version: 1.1.0
Language Version: Ruby 3.1.3

@therabidbanana Thanks for reporting this issue!


Android manifest is missing project name and conflicts with other projects

Some Android template metadata is incorrect and causes conflicts when you create multiple projects and then try to deploy to the emulator (and presumably to a real device). The Android manifest has com.companyname and it should append the project name as well so that it's different per project.
Need to look at the Xamarin.Forms templates again and do whatever they do.
cc @danroth27

Need something like this in template.in.json:
        "AndroidAppIdentifier": {
            "type": "parameter",
            "description": "Overrides the package name in the AndroidManifest.xml",
            "datatype": "string"
        },
        "AndroidAppIdentifierReplacer": {
            "type": "generated",
            "generator": "coalesce",
            "parameters": {
                "sourceVariableName": "AndroidAppIdentifier",
                "fallbackVariableName": "AppIdentifier"
            },
            "replaces": "com.companyname.NewApp.Android"
        },

Which we appear to already have... but maybe something isn't running that replacer.

The problem was that in the default case (no explicit identifier), the generic name in the project template com.companyname.NewApp... was being replaced by a static default string in the template.json! The fix is to remove the default value for this parameter so that NewApp gets replaced with the project name by default.


3.2

Visual Scriting Editor
hello everyone, my feedback goes to the Visual Scriting Editor in Godot Game Engine.
As an Artist, I love the idea of visual scripting as it enables me to script my game in a visual way without having all the technical knowledge of programming and its challenges.
Godot 3.1 was good in terms of the arrangement of nodes in a grouped manner(this made it easy to find the nodes that you where looking for) but now 3.2 has gone ahead to make them ungrouped and separate on their own making it less of an option for beginners and Artist alike who may never want to learn how to program.
to sum this up I think we need to give Artist the voice to make the wise decisions on making Visual Scriting in Godot better (especially for the Artist).
thanks

It seems you have mistakenly opened a pull request. Pull requests are how you contribute engine changes back to the main Godot branch. Pull requests are absolutely not a place to provide general feedback.
If you would like to provide general feedback, consider starting a discussion on one of the various Community Channels
If you have an idea for something that could improve the engine, consider submitting a proposol to Godot-Proposals


jet reports occasional 'started logger' telegram notifications

this is caused by an uncaught db exception that causes the logger service process to terminate:
node:events:368
throw er; // Unhandled 'error' event
^
[Error: SQLITE_BUSY: database is locked
Emitted 'error' event on Statement instance at:
] {
errno: 5,
code: 'SQLITE_BUSY'
}

original issue: https://github.com/itsneski/lightning-jet/issues/64

fixed in v1.4.3


[NTR] New Term Request: aerocyte

Preferred term label
aerocyte
Synonyms (add reference(s), please)
aerocyte capillary endothelial cell, aerocyte capillary EC, aCap - EDNRB+
Definition (free text, with reference(s), please. PubMed ID format is PMID:XXXXXX)
The Tabula Sapiens: A multiple-organ, single-cell transcriptomic atlas of humans
PMID:35549404
Parent cell type term (check the hierarchy here Cell Ontology CL)
Superclasses: lung endothelial cell, capillary endothelial cell
CL IDs: CL_0002144
Anatomical structure where the cell type is found (check Uberon for anatomical structures: Uberon Ontology)
Locations: lung
Uberon IDs: UBERON_0002048
Your ORCID
Additional notes or concerns
This request draft was autogenerated from Wikidata. For more details, see the [Wikidata item](https://www.wikidata.org/wiki/Q112117461 or the [source script]{https://www.wikidata.org/wiki/User:TiagoLubiana/cell-ontology.js}).

There is one or two bugs in there, but I am playing around with this kind of auto-generation of an NTR ticket from Wikidata.
It is missing a definition (need manual generation or fancy LLM stuff) and an ORCID (user-specific).
It also failed to locate the likely CL synonym alveolar capillary type 2 endothelial cell
https://www.ebi.ac.uk/ols4/ontologies/cl/classes/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FCL_4028003

The original term by @JoshuaFortriede was added in PR

#1318
and very similar to
#1056

In any case, perhaps "aerocyte" should be the main label, as it is explicitly used as the name of the cell type in the paper, what do you think?

Just noting that the aerocyte / aCAP / alveolar capillary type 2 endothelial cell was published as distinct from gCAP/ general (pulmonary) capillary endothelial cell/ alveolar capillary type 1 endothelial cell.  The capillary 1 and capillary 2 assignment was made in https://doi.org/10.1016/j.devcel.2021.11.007.
If we use "aerocyte" as the main label for the synonym alveolar capillary type 2 endothelial cell then the logic would be to use "general" in the leading term for the other alveolar capillary type but I think that would be confusing as "general" could be taken to mean non-specific. It is true that doi:10.1126/science.abl4896 suggests that the gCap transcriptome is more similar to capillary endothelial cells in other tissues so maybe to refer to them as "general" is okay? To try to avoid the confusion, when entering these two cell types into CL, we used the https://doi.org/10.1016/j.devcel.2021.11.007  convention of alveolar capillary type 1 endothelial cell with synonym gCAP and alveolar capillary type 2 endothelial cell with synonym aCAP and aerocyte.  As long as we keep the synonyms, either choice of main label would likely be okay.  Thanks for working on this.  Of note, we have a cross-consortium lung endothelial cell task force that should be addressing this as domain experts.

The endothelial cell working group prefers to keep alveolar capillary type 1 cell (CAP1) and alveolar capillary type 2 cell (CAP2) as this is not dissimilar from the alveolar epithelial type 1 (AT1) and alveolar epithelial type 2 (AT2) convention. Unlike "aerocyte" and "general capillary," these terms CAP1 and CAP2,  is in line with nomenclature from other compartments (i.e. AT1 and AT2) and don't infer function for which data is still inadequate.


Central add metadata info

Description
Model Metadata including groupId:artifactId is shown on the central UI

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

@anfee1 please review

@lanking520 LGTM


Scrap the jerry_object_native_info_t type and just use jerry_object_native_free_callback_t for native objects

Folks,
Disclaimer: if I've misunderstood something in my explanation: a) mea culpa; feel free to beat me up :-), and b) please explain the truth not only to me, but maybe also include the explanation in the docs...
The jerry_object_native_info_t structure contains exactly one field, a pointer to the function that the garbage collector calls to free the native object.  A crude form of type checking is performed every time the native object is accessed: the address of the native_info_t structure is recorded when the native object is created, and subsequent accesses include a check against this address.
...this design has bitten me, but instead of trying to explain the vagaries of separate compilation and const pointers (I'll gladly do so, but it'll be long and tedious... :-), I'd rather make the case to change this from a design perspective:
In general, a structure with only one field does not need to exist -- the field can just be used as it is; as a simple example: imagine if every integer were a struct containing a single int...
Of course, some systems do exactly that: wrap a struct around simple data types, but they do so for really specific reasons, none of which(?) apply to the native-object code: the "type checking" is only against a constant address of a structure -- probing the system indicates that the contents of the structure aren't even accessed; but even if they are, the only thing in the structure is a function pointer that, by definition, is itself a constant address.
Can we fix this so that the native-object code just makes sure that the free_cb function remains unchanged?  (That is, wherever we now send in a pointer to the native_info_t struct, instead send in the free_cb-function pointer instead.)
(No need to read this paragraph is you're already convinced :-) -- The current abstraction is excellent, in that it says: every time you access this otherwise-opaque pointer, make sure it's the right kind of thing by checking against a type signature (which happens to just be the pointer used to free the object).  If we implement my proposed change, the abstraction becomes: every time you access this pointer, make sure the guy accessing it knows that a particular function is the function used to free it -- yuck.  So to maintain the abstraction with the native_object_t struct, we should not check the address of the struct, but, rather, do a field-by-field comparison of the structs.  That way, two otherwise identical structs would match.  This, obviously, would require more processing, but would maintain the nice design.
Thanks,
Tim
P.S. This is not a particularly urgent issue -- careful #def'ing solved my specific problem, but it was a little tricky to get right, and the docs aren't very helpful -- thus this suggestion to simplify the design.

CC: @zherczeg

I may misunderstand something but JerryScript internally does not do any "form of type checking". From JerryScript perspective, these are just pointers. The user application needs to do its type checks on their own way.
Historically we had a different user and callback pointers, but only the user pointers could be retrieved. Therefore no type checks was available. Later the current approach was added, and we had to maintain two approaches. It was not convenient, and I wouldn't want to do it again.
The motivation of using a structure pointer was that the structure can have other members (mostly type info), and you can use this for sub-classing objects. Your C code can check the callback, and if it matches, you can type cast the pointer to another structure.  If we pass only the callback, this is not possible anymore, which sounds a step back.

There is no activity on this issue for a year and the question seems to be answered for me. I'm closing the issue for now, please feel free to reopen it if needed.


website build ignores errors in snippets

eg see https://microsoft.github.io/devicescript/developer/register-read

currently configured to ignore all client docs


upgrade broccoli-sass-source-maps to 2.0.0

broccoli-sass-source-maps dependencies requires node-sass ^3.8 and your new 2.0 version requires ^4.0, node-sass 4.1 introduced support for Linux Alpine which makes it possible to compiles smaller docker images for ember apps.

This has already been done in v6. Thanks!


post image/load ,post /auth

Signed-off-by: heartlock<EMAIL_ADDRESS>

@heartlock You should add integration testto self-prove your code. A good example to follow is: https://github.com/hyperhq/hyperd/pull/349

@resouer I add integration test ,but still check fail

Can one of the admins verify this patch?

Can one of the admins verify this patch?


Create virtual tags for filtering

Now that we can filter by tag, I'd like to have virtual tags created.  Specifically, I'd like to be able to filter by resource type, so to do that, I could have a virtual tag created automatically for that.  To avoid collisions, I'll call it __resource_type

I'm closing this issue as the network diagram functionality of CloudMapper is no longer being maintained.  Other features of CloudMapper, such as the audit functionality, is still maintained. If someone is interested in maintaining the network diagram functionality they can look at the issues tagged unmaintained_functionality for all the issues related to this that have been closed as they will unfortunately not be worked on by me.


bug/#233 - don't set a SharedPreferences value to null, remove it

Impacted file:

user_preferences.dart: now using SharedPreferences.remove() instead of SharedPreferences.set___(, null)

It's a side-effect of the new version of SharedPreferences (from 2.0.0), that now sometimes throws an exception, which is not caught, and that causes some variable not to be set.

@M123-dev The problem is that flutter and dart are rather lenient regarding exceptions (compared to Java for instance). If an exception is thrown in the middle of a function, the other half of the function is not run and that's invisible.


Missing types for the recently-played endpoint

I could not find any typings for the recently-played endpoint.
https://developer.spotify.com/console/get-recently-played/

Sorry for a really late response. When I was initially developing the package, i too was not able to find typings so i did multiple requests with various methods and created typings for it based on it.

I was hoping those typings could be added to this lib?

I was hoping those typings could be added to this lib?

Well, it already does exist as [RecentlyPlayed] in the library.
Documentation: https://spotify-api.js.org/main/interface/RecentlyPlayed
You can close this issue if you are satisfied that the issue has been resolved.

Yes. But I am not using that lib actually. I only needed the typings that's why I was using this typing lib assuming all the typing would be available here. But I guess this lib only offers the typings that spotify-api.js is missing.


Add support for supplying content length in requests

This enables support for servers which do not support use of chunked transfer encoding in requests, e.g. emulated devices.

See also https://github.com/timonreinhard/wemo-client/issues/63.

Hmm, I think ideally we should set content-length header whenever the size is known... shouldn't need a option for this...


feat(iv): OCIO

Description
This change adds OCIO functionality to iv.
To enable OCIO, first set the $OCIO environment variable to point with a path to the OCIO config. "ocio://default" should work as well.
If a valid config provided, a new menu gets added under "View/OCIO" with an on/off toggle and submenus to select the image color space and display/view and optional look.
If an image color space, display and view are provided as command line parameters ("image-color-space", "display", "view"), then the OCIO mode is switched on automatically.
If no image color space is provided as command line parameters, the top most color space of the config get pre-selected in the menus.
If no display or view is provided as command line parameters, the default values get pre-selected in the menus.
In OCIO mode the exposure and gamma adjustments are done by OCIO. The exposure is done in scene linear, gamma is still in display space. The exposure adjustments don't match between the OCIO and non-OCIO modes.
When OCIO fails to initialise the pipeline for any reason, an error message is shown in the status bar, and the non-OCIO path gets used.
TODO:

I have hardcoded the path to libOpenColorIOoglapphelpers.a, my cmake-fu is not strong enough to link that properly.
The OpenGL code is quite messy, I was trying to retain as much existing code as possible, to make it easier to fallback when OCIO fails.
All channel shuffling is done by the existing shader and happens before the OCIO step. We may want to discuss/change that?
The initial image color space gets selected from the command line parameter, or the first color space in the config. There is no attempt being made to use the image metadata.
The exposure/gamma values get baked into the shader, which gets recompiled on every change. We may want to use uniforms instead.  - DONE

Tests
I've only tested on Macos so far.
Checklist:

[x] I have read the contribution guidelines.
[ ] I have updated the documentation, if applicable.
[ ] I have ensured that the change is tested somewhere in the testsuite
(adding new test cases if necessary).
[x] If I added or modified a C++ API call, I have also amended the
corresponding Python bindings (and if altering ImageBufAlgo functions, also
exposed the new functionality as oiiotool options).
[x] My code follows the prevailing code style of this project. If I haven't
already run clang-format before submitting, I definitely will look at the CI
test that runs clang-format and fix anything that it highlights as being
nonconforming.

@lgritz Hey Larry, it seems not all OCIO distributions contain the oglapphelpers library. Should we copy this class https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/main/src/libutils/oglapphelpers/glsl.h to the OIIO repo? It is their reference implementation of a class managing the GPU resources (shaders/textures/uniforms), it works well enough out of the box, I'm not very keen to reimplement it.
Also, I'm using the GPU-related OCIO classes in iv directly, is that ok, or should I expose the GPU stuff in the wrapper classes instead?

Can you clarify what you mean by "not all OCIO distributions"? Do you mean not all versions of OCIO that can be found? Or do you mean that even at version 2.3 (say), you won't get that header if you install from certain package managers?
For the problem of some earlier versions not having the header, or simply the fact that OCIO 1.x has different APIs: on this, I'm 100% fine with iv only supporting OCIO color management for sufficiently modern versions. There's no reason for you to do extra work to support prior to, I don't know, let's say OpenColorIO 2.2? 2.1?
If there are certain distributions of even modern OCIO that don't seem to include all the components we need, I think I'm also ok with just not supporting iv color management if the files we need aren't found. Maybe throw it back at OCIO to contact the various distributions and get them to include all the necessary files that comprise the package? I'd prefer to not "vendor" parts of OCIO within the OIIO repo if at all possible.
Or am I misunderstanding the situation?

Also, I'm using the GPU-related OCIO classes in iv directly, is that ok, or should I expose the GPU stuff in the wrapper classes instead?

Definitely feel free to use it directly in the iv internals. I don't think there's a good reason to "wrap" it in the same way that we did the color configs and transformations, which made more sense to abstract so that we could provide fallbacks and insulate OIIO users who needed those concepts from direct exposure to OCIO.

Can you clarify what you mean by "not all OCIO distributions"?

I can try, though my knowledge of software distribution systems is quite limited.
OpenColorIO/src/libutils/oglapphelpers/CMakeLists.txt says that the class gets built into a static library named "oglapphelpers". If I build OCIO myself, I get the library installed under /opt/local/lib/libOpenColorIOoglapphelpers.a
When OCIO 2.2.0 is installed via MacPorts, I only get the main dynamic lib. Also oglapphelpers is not mentioned in any files in /opt/local/lib/cmake/OpenColorIO/*.
On my Fedora machine with OCIO 2.2.1 installed via DNF, I don't get the oglapphelpers lib installed, I can see the headers though.

I think you've just gone and done the thing I came here to suggest...
Ideally, all OCIO builds -- including pre-built versions in package managed distros -- would both include these headers and libraries, and also the OCIO exported cmake config would have proper targets for them (which apparently it does not -- gack!). So probably the right thing to do for now is to "vendor" it by including just the minimum number of files we need. Hopefully, in a future OCIO version, we can be confident that these components are always include in OCIO itself and we can remove them from our side.

Also, whatever minimum OCIO version you want to impose for this support is fine with me. We didn't have it before at all, so as far as I'm concerned, if the iv color management only works for the current and future OCIO releases, it's still a solid step forward. You shouldn't do a lot of extra work to try to make it work for arbitrarily old OCIO. Make the cut wherever you feel is the right tradeoff between supported versions and the amount of your time worth investing in it.

Hey Larry, I first added (nicked from ociodisplay) and then commented out the looks selection menu, as those seem to be legacy, and not really intended for OCIO v2 workflows? Should I remove the looks completely, and maybe add a "disable looks" checkbox instead?

Wow, I have no idea. You've just run right past the boundary of my OCIO knowledge.

@antond-weta , regarding the looks override menu in ociodisplay, my understanding is that that was there for prototyping configs.  In a finished config, the looks are included in the views.  So a user would select a view that has the desired look in it.  The ability to override or add looks to views independent of what the config author did is not something I've seen in other apps besides ociodisplay, so I don't think it would be that useful to include it in iv.  If you do want to copy ociodisplay, the LegacyViewingPipeline class in OpenColorAppHelpers.h allows the looks override functionality.

@lgritz this is ready for review, I think.
I have removed the OCIO ref implementation class and re-implemented the missing functionality. The code is a bit cleaner this way.

I'm truly sorry for the delay. Between being sick with COVID for multiple weeks, then vacation and work travel and then more vacation, I let this sit longer than I would have liked. It was in no way a lack of enthusiasm for this PR.
I tried to build myself to give it a spin, and I get this error:
/Users/lg/code/oiio/oiio.lg/src/iv/ivgl_ocio.cpp:364:57: error: too few arguments to function call, expected 8, have 7
                                  channel, interpolation);
                                                        ^
/usr/local/include/OpenColorIO/OpenColorIO.h:3534:18: note: 'getTexture' declared here
    virtual void getTexture(unsigned index,
                 ^
1 error generated.

This is on MacOS using OpenColorIO 2.3.

Thanks @lgritz
That extra parameter was introduced in 2.3.0. I've updated the code. I'm not quite certain of how to do that properly though. Do I need to add conditionals so the code builds against pre-2.3.0 as well?

Yes, I think just an appropriate #if / #else around that call site (or at least as narrow as you can make it) so that it passes the right parameters for each version of OCIO.
There's no need to support OCIO 1.x for the iv color management, but at the very least, we should support OCIO 2.2 and 2.3. Everything >= 2.0 is even better if that's not a lot more trouble, but if it's a burden, I could live with 2.2 minimum for the iv support.
Hmmm... does this mean that our CI doesn't have any test that combines building iv with an OCIO >= 2.3, so that's why it didn't get caught before? Not all the CI tests bother building iv (because they may not have Qt and/or OpenGL set up), depends on the VM, so maybe the few OCIO 2.3 tests were among those, coincidentally.

CI is failing on Windows, but I don't think that's related to your changes, since I don't believe our Windows CI case will build iv at all.


Push notifications : AdMobPro && phonegap PushPlugin seems incompatible

Hello,
I run into an issue today that not directly concern Ionic but if I was an ionic dev, I would have liked to know it. It took me few hours to spot the problem and I finally found it when I decided to start a fresh app to find the step where it fails.
So I started an app, installed the PushPlugin.
Then add platform and build. Everything is ok.
Then add the AdMobPro plugin
cordova plugin add cordova-plugin-admobpro

Then try to build then everything breaks.
:dexDebug
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs;
        at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
        at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
        at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
        at com.android.dx.command.dexer.Main.run(Main.java:246)
        at com.android.dx.command.dexer.Main.main(Main.java:215)
        at com.android.dx.command.Main.main(Main.java:106)

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
        /home/prisonier/dev/dependencies/android-sdk-linux/build-tools/22.0.1/dx --dex --no-optimize --output /home/prisonier/dev/testapp/platforms/android/build/intermediates/dex/debug --input-list=/home/prisonier/dev/testapp/platforms/android/build/intermediates/tmp/dex/debug/inputList.txt
  Error Code:
        2
  Output:

        UNEXPECTED TOP-LEVEL EXCEPTION:
        com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs;
                at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
                at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
                at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
                at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
                at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
                at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
                at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
                at com.android.dx.command.dexer.Main.run(Main.java:246)
                at com.android.dx.command.dexer.Main.main(Main.java:215)
                at com.android.dx.command.Main.main(Main.java:106)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 41.392 secs

/home/prisonier/dev/testapp/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error code 1 for command: /home/prisonier/dev/testapp/platforms/android/gradlew with args: cdvBuildDebug,-b,/home/prisonier/dev/testapp/platforms/android/build.gradle,-Dorg.gradle.daemon=true
ERROR building one of the platforms: Error: /home/prisonier/dev/testapp/platforms/android/cordova/build: Command failed with exit code 1
You may not have the required environment or OS to build this project
Error: /home/prisonier/dev/testapp/platforms/android/cordova/build: Command failed with exit code 1
    at ChildProcess.whenDone (/usr/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:134:23)
    at ChildProcess.emit (events.js:110:17)
    at maybeClose (child_process.js:1015:16)
    at Process.ChildProcess._handle.onexit (child_process.js:1087:5)

I also tried to remove the PushPlugin after that and keep the AdMobPro and everything run smooth again. I really don't know how to manage this incompatability.
I see issues which looks similar here, here and here.
It looks like there is some solutions but I'm really not familiar with manifest edit and touching inside plugins. I hope that there is another solution.
Regards
Cordova CLI: 5.1.1
Gulp version:  CLI version 3.8.11
Gulp local:   Local version 3.8.11
Ionic Version: 1.0.1
Ionic CLI Version: 1.6.1
Ionic App Lib Version: 0.3.3
OS: Distributor ID:     Debian Description:     Debian GNU/Linux 7.8 (wheezy)
Node Version: v0.12.6

Greetings @prisonier!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Greetings @prisonier!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.


[W5.4b][T11-A2] Raymond Zheng

Changed parseCommand method into a class-level method
Added Sequence number for adding every person instance

@ashrafabdul Sorry for the considerable delay.


Nuget package update

Nuget package creation - v1.1.0

Codecov Report

Merging #14 (8b91967) into main (4743eaa) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #14   +/-   ##
=======================================
  Coverage   98.46%   98.46%
=======================================
  Files           1        1
  Lines         261      261
  Branches       58       58
=======================================
  Hits          257      257
  Misses          2        2
  Partials        2        2

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 4743eaa...8b91967. Read the comment docs.


3.2.2 fix CI test

Purpose of the pull request

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

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

Please upload report for BASE (3.2.2-prepare@3ad53c5). Learn more about missing BASE report.

:exclamation: Current head 0e03484 differs from pull request most recent head d5df5cc
Please upload reports for the commit d5df5cc to get more accurate results.

Additional details and impacted files
@@               Coverage Diff                @@
##             3.2.2-prepare   #16129   +/-   ##
================================================
  Coverage                 ?   40.58%
  Complexity               ?     5216
================================================
  Files                    ?     1380
  Lines                    ?    46025
  Branches                 ?     4890
================================================
  Hits                     ?    18679
  Misses                   ?    25421
  Partials                 ?     1925

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


Issue11

Solves MacroModel input file issue.

Added tests for the exceptions and modified com files.

Changes implemented.

Changes implemented.


cmd/common: Clean up special event management

cmd/common: Clean up special event management

There is no need to make a copy of the Event to print special events, instead, use pointers.
Move GetBaseEvent into the embedded struct so that it doesn't need to be implemented by every gadget.
Rename ManageSpecialEvent to HandleSpecialEvent as in this case, "Handle" is more accurate than "Manage".

Rebased to ensure the CI is all green after merging https://github.com/inspektor-gadget/inspektor-gadget/pull/1141.


multiple joins for reaction type counts

Hey @acidjazz ,
I fixed a use case of mine which I think might be beneficial to the community so I making this pull request.
The current implementation restricted you to only getting only one reaction type count on a reactant at a time with the joinReactionCounterOfType scope. This pr enables you chain multiple scopes of different reaction types to get all their respective counts at once.
Kindly review and let me know if there are any modifications you will like me to make.

@JFunu thank you for the contribution!
I was thinking about ability to add multiple counters at once and planned to return to it as a part of PR #93.
What will happen if developer will add 2 joins with different types and without custom alias?
$likeType = ReactionType::fromName('Like');
$dislikeType = ReactionType::fromName('Dislike');

Comment::query()
  ->joinReactionCounterOfType($likeType)
  ->joinReactionCounterOfType($dislikeType);

I think it should work out of the box by default generating alias from the reaction name. And we could add   extra $alias nullable parameter which let developer to overwrite default value.
public function scopeJoinReactionCounterOfType(
    Builder $query,
    ReactionTypeContract $reactionType,
    ?string $alias = null
): Builder {

Then this code will join 2 counters with default aliases:
Comment::query()
  ->joinReactionCounterOfType($likeType)
  ->joinReactionCounterOfType($dislikeType);

And this one will join 2 counters with custom aliases:
Comment::query()
  ->joinReactionCounterOfType($likeType, 'likesCounter')
  ->joinReactionCounterOfType($dislikeType, 'dislikesCounter');

I haven't decided how default alias will look like but it should depend of reaction name for sure, because they are unique.

@antonkomarev . Thanks for the feedback. Have implemented the changes.

Looks good! The only one things left to do - add test for join with custom $alias argument and I'm ready to merge it.

Nevermind, I've merged it as is. Will add tests in next PRs.

Thanks @antonkomarev . My first contribution to open source.

Welcome Aboard! :1st_place_medal:


Audio thumbnail does not have a descriptive alt text

Problem

Alt attribute on the audio thumbnail image does not describe the image.
Description

A descriptive alt attribute should be provided when possible.
Additional context

Reported by Joe Dolson (https://make.wordpress.org/openverse/2022/09/07/frontend-release-v3-4-8-and-a-call-for-a11y-testing/#comment-95)
Implementation

[ ] 🙋 I would be interested in implementing this feature.

Does the audio thumbnail have any inherent value for someone using a screen-reader? Rather than the alt text being "Thumbnail for track " (which will almost always be read in close proximity to the track name, I would much rather that the image was ARIA-hidden entirely.
Tagging @panchovm for UX guidance.

Looks like SoundCloud uses the track name as the alt text 😢

Ideally, we would have the descriptive texts for the thumbnails. But since we don't, I agree that aria-hiding the thumbnail element is a better solution.
Would we add aria-hidden="true" to the div that wraps both the fallback and the image here (instead of adding the title):
https://github.com/WordPress/openverse-frontend/blob/940b686b387e3fcc86a32dd6fdab15a60cc1b19b/src/components/VAudioThumbnail/VAudioThumbnail.vue#L3

@obulat that seems ideal. By doing that, to an SR, it would seem as if there is no thumbnail.


Set Asciidoc attributes by language

Hi.
Is there a way to set Asciidoc attributes by languages?
I'm doing this:
config/_default/languages.en.toml:

[markup.asciidocext.attributes]
    lang = "en"

config/_default/languages.pt-br.toml:

[markup.asciidocext.attributes]
    lang = "pt-br"

But it always adds the same attribute value, in this case, pt-br.

INFO 2021/06/13 16:46:11 Rendering articles/example/_index.adoc with /usr/local/bin/asciidoctor using asciidoctor args [-a lang=pt-br --no-header-footer -] ...

Thank you!

The only thing I could find in the documentation:

Only the obvious non-global options can be overridden per language. Examples of global options are baseURL, buildDrafts, etc.

I'm not sure what this means, but I suspect the [markup] key is considered global.

Is there a way to set Asciidoc attributes by languages?

No.

Thank you for the answers.
Is this a complicated thing? Do you have any guidance here, please?

What do you wish to achieve by calling asciidoctor with -a lang=xx?

What do you wish to achieve by calling asciidoctor with -a lang=xx?

Thanks for asking.
The FreeBSD Documentation has two main areas, Documentation (several books and articles) and Website [1].
We recently migrated it from Docbook to Hugo/Asciidoctor. It's very extensive, we have about 1k .adoc files.
And now we want to add several includes based on each language [2].
One example:
include::shared/en/urls.adoc[]
include::shared/pt-br/urls.adoc[]

-->
ifdef::lang[include::shared/{lang}/urls.adoc[]]

there are other files like this.
We use for translations po4a and Weblate, and these include's with $lang (which aren't translatable) will help because we won't need to change it manually after converting the translation (.po file) back to .adoc.
That's why we need that -a lang=xx parameter or another way to pass Hugo variables to Asciidoctor.
Any tip/advice here is very appreciated.
And thanks for your time.
1 - https://github.com/freebsd/freebsd-doc
2 - https://raw.githubusercontent.com/freebsd/freebsd-doc/main/documentation/content/en/articles/committers-guide/_index.adoc

layouts/shortcodes/lang.html
{{ .Page.Language.Lang }}
{{- /* Chomp trailing newline */ -}}

And then your include might look like this:
include::shared/{{% lang %}}/urls.adoc[]

@jmooring that will help, thank you so much.

You are welcome. In the future, please use the forum (https://discourse.gohugo.io) for questions and troubleshooting. We prefer to use GitHub for verified bugs and vetted enhancements. Thanks!


Fix and document JWT authentication

Fixes #2

Pull Request Test Coverage Report for Build #112

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 51.726%

Totals

Change from base Build #111:
0.0%

Covered Lines:
764

Relevant Lines:
1477

💛  - Coveralls


[BUG]: onProgress on Android only returns integers

Version
6.3.0
What platforms are you having the problem on?
Android
System Version
Android 13
On what device are you experiencing the issue?
Real device, Simulator
Architecture
Old architecture
What happened?
Method seek can take floating points but after loading is done onProgress return whole number
Reproduction
No response
Reproduction
Step to reproduce this bug are:  On Android use method seek and give floating point as an argument(35.5 for example), after seek and loading is done onProgress will return whole number 35

@maksymhcode-care can it be a duplicate of https://github.com/TheWidlarzGroup/react-native-video/issues/3971 ?

@maksymhcode-care can it be a duplicate of #3971 ?

Not sure, seek method works for me if use floating point, so no issue with that, the issue is that after buffering is done onProgress  returns integer. Don't know if your fix will help as of right now

I just tested on master branch, I don't reproduce the issue on both live and VOD, not reproduced.
I think it was the same issue I was pointing ...

I close the issue, let me know if reproduced on > 6.4.3


Implement a generic class child of CharacterBody3D that implemens these stairs stepping behaviours

Hello and sorry to bother, this has been really helpful. Thank you :)
Currently only my player can stair-step, and I want my NPC's to also be able to do this the same way. Could this be possibly implemented?

I will also try to do this myself, and I'll let you know my progress

Okay, I just did it. :)
`extends CharacterBody3D
Credits:
Special thanks to Majikayo Games for original solution to stair_step_down!
(https://youtu.be/-WjM1uksPIk)

Special thanks to Myria666 for their paper on Quake movement mechanics (used for stair_step_up)!
(https://github.com/myria666/qMovementDoc)

Special thanks to Andicraft for their help with implementation stair_step_up!
(https://github.com/Andicraft)
@onready var fv : Marker3D= $ForwardVector
@onready var visible_notifier : VisibleOnScreenNotifier3D= $VisibleOnScreenNotifier3D
@onready var navigation_agent : NavigationAgent3D= %NavigationAgent3D
@onready var player : CharacterBody3D = get_tree().get_first_node_in_group("Player")
@onready var navmesh : NavigationRegion3D = get_tree().get_first_node_in_group("Navmesh")
Notes:
0. All shape colliders are supported. Although, I would recommend Capsule colliders for enemies
as it works better with the Navigation Meshes. Its up to you what shape you want to use
for players.

1. To adjust the step-up/down height, just change the MAX_STEP_UP/MAX_STEP_DOWN values below.

2. This uses Jolt Physics as the default Godot Physics has a few bugs:
1: Small gaps that you should be able to fit through both ways will block you in Godot Physics.
You can see this demonstrated with the floating boxes in front of the big stairs.
2: Walking into some objects may push the player downward by a small amount which causes
jittering and causes the floor to be detected as a step.
TLDR: This still works with default Godot Physics, although it feels a lot better in Jolt Physics.
#region ANNOTATIONS ################################################################################
@export_category("Player Settings")
@export var PLAYER_SPEED := 10.0		# Player's movement speed.
@export var JUMP_VELOCITY := 6.0		# Player's jump velocity.
@export var MAX_STEP_UP := 0.5			# Maximum height in meters the player can step up.
@export var MAX_STEP_DOWN := -0.5		# Maximum height in meters the player can step down.
@export_category("Debug Settings")
@export var STEP_DOWN_DEBUG := false	# Enable these to get detailed info on the step down/up process.
@export var STEP_UP_DEBUG := false
Node References
@onready var PLAYER_COLLIDER = $CollisionShape3D
#endregion
#region VARIABLES ##################################################################################
var is_grounded := true					# If player is grounded this frame
var was_grounded := true				# If player was grounded last frame
var vertical := Vector3(0, 1, 0)		# Shortcut for converting vectors to vertical
var horizontal := Vector3(1, 0, 1)		# Shortcut for converting vectors to horizontal
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")		# Default Gravity
#endregion
func _ready() -> void:
navigation_agent.velocity_computed.connect(_on_velocity_computed)
set_movement_target(Vector3(randf_range(-30,30), randf_range(-30,30), randf_range(-30,30)) + global_position)
func set_movement_target(movement_target: Vector3):
navigation_agent.set_target_position(movement_target)
func smooth_look_at(pos : Vector3, smoothness: float):
var fw := pos - global_position
if fw.cross(Vector3(0,1,0)).is_zero_approx() or fw == Vector3.ZERO: return
var lookat_basis := Basis.looking_at(fw, Vector3(0,1,0), true)
var original_scale := basis.get_scale()
basis = basis.orthonormalized()
var slerped_basis = basis.slerp(lookat_basis, get_physics_process_delta_time() * smoothness)
global_transform = Transform3D(slerped_basis, global_position)
scale = original_scale
rotation_degrees.x = 0
rotation_degrees.z = 0

func _on_velocity_computed(safe_velocity: Vector3):
print(safe_velocity)
velocity = safe_velocity
move_and_slide()
# Stair step down
stair_step_down()
Function: Handle frame-based physics processes
func _physics_process(delta):
# Lock player collider rotation
PLAYER_COLLIDER.global_rotation = Vector3.ZERO
# Update player state
was_grounded = is_grounded

if is_on_floor():
	is_grounded = true
else:
	is_grounded = false

# Handle Gravity
if !is_on_floor():
	velocity.y -= gravity * delta

smooth_look_at(navigation_agent.get_next_path_position(), 5)

var next_path_position: Vector3 = navigation_agent.get_next_path_position()

var new_velocity: Vector3 = global_position.direction_to(next_path_position)

# Stair step up
stair_step_up()

# Move
navigation_agent.set_velocity(new_velocity * PLAYER_SPEED)

Function: Handle walking down stairs
func stair_step_down():
if is_grounded:
return
# If we're falling from a step
if velocity.y <= 0 and was_grounded:
	_debug_stair_step_down("SSD_ENTER", null)													## DEBUG

	# Initialize body test variables
	var body_test_result = PhysicsTestMotionResult3D.new()
	var body_test_params = PhysicsTestMotionParameters3D.new()

	body_test_params.from = self.global_transform			## We get the player's current global_transform
	body_test_params.motion = Vector3(0, MAX_STEP_DOWN, 0)	## We project the player downward

	if PhysicsServer3D.body_test_motion(self.get_rid(), body_test_params, body_test_result):
		# Enters if a collision is detected by body_test_motion
		# Get distance to step and move player downward by that much
		position.y += body_test_result.get_travel().y
		apply_floor_snap()
		is_grounded = true
		_debug_stair_step_down("SSD_APPLIED", body_test_result.get_travel().y)					## DEBUG

Function: Handle walking up stairs
func stair_step_up():
_debug_stair_step_up("SSU_ENTER", null)															## DEBUG
# 0. Initialize testing variables
var body_test_params = PhysicsTestMotionParameters3D.new()
var body_test_result = PhysicsTestMotionResult3D.new()

var test_transform = global_transform				## Storing current global_transform for testing
var distance = Vector3(velocity.x, 0, velocity.z).normalized() * 0.1						## Distance forward we want to check
body_test_params.from = self.global_transform		## Self as origin point
body_test_params.motion = distance					## Go forward by current distance

_debug_stair_step_up("SSU_TEST_POS", test_transform)											## DEBUG

# Pre-check: Are we colliding?
if !PhysicsServer3D.body_test_motion(self.get_rid(), body_test_params, body_test_result):
	_debug_stair_step_up("SSU_EXIT_1", null)													## DEBUG

	## If we don't collide, return
	return

# 1. Move test_transform to collision location
var remainder = body_test_result.get_remainder()							## Get remainder from collision
test_transform = test_transform.translated(body_test_result.get_travel())	## Move test_transform by distance traveled before collision

_debug_stair_step_up("SSU_REMAINING", remainder)												## DEBUG
_debug_stair_step_up("SSU_TEST_POS", test_transform)											## DEBUG

# 2. Move test_transform up to ceiling (if any)
var step_up = MAX_STEP_UP * vertical
body_test_params.from = test_transform
body_test_params.motion = step_up
PhysicsServer3D.body_test_motion(self.get_rid(), body_test_params, body_test_result)
test_transform = test_transform.translated(body_test_result.get_travel())

_debug_stair_step_up("SSU_TEST_POS", test_transform)											## DEBUG

# 3. Move test_transform forward by remaining distance
body_test_params.from = test_transform
body_test_params.motion = remainder
PhysicsServer3D.body_test_motion(self.get_rid(), body_test_params, body_test_result)
test_transform = test_transform.translated(body_test_result.get_travel())

_debug_stair_step_up("SSU_TEST_POS", test_transform)											## DEBUG

# 3.5 Project remaining along wall normal (if any)
## So you can walk into wall and up a step
if body_test_result.get_collision_count() != 0:
	remainder = body_test_result.get_remainder().length()

	### Uh, there may be a better way to calculate this in Godot.
	var wall_normal = body_test_result.get_collision_normal()
	var dot_div_mag = Vector3(velocity.x, 0, velocity.z).normalized().dot(wall_normal) / (wall_normal * wall_normal).length()
	var projected_vector = (Vector3(velocity.x, 0, velocity.z).normalized() - dot_div_mag * wall_normal).normalized()

	body_test_params.from = test_transform
	body_test_params.motion = remainder * projected_vector
	PhysicsServer3D.body_test_motion(self.get_rid(), body_test_params, body_test_result)
	test_transform = test_transform.translated(body_test_result.get_travel())

	_debug_stair_step_up("SSU_TEST_POS", test_transform)										## DEBUG

# 4. Move test_transform down onto step
body_test_params.from = test_transform
body_test_params.motion = MAX_STEP_UP * -vertical

# Return if no collision
if !PhysicsServer3D.body_test_motion(self.get_rid(), body_test_params, body_test_result):
	_debug_stair_step_up("SSU_EXIT_2", null)													## DEBUG

	return

test_transform = test_transform.translated(body_test_result.get_travel())
_debug_stair_step_up("SSU_TEST_POS", test_transform)											## DEBUG

# 5. Check floor normal for un-walkable slope
var surface_normal = body_test_result.get_collision_normal()
print("SSU: Surface check: ", snappedf(surface_normal.angle_to(vertical), 0.001), " vs ", floor_max_angle)#!
if (snappedf(surface_normal.angle_to(vertical), 0.001) > floor_max_angle):
	_debug_stair_step_up("SSU_EXIT_3", null)													## DEBUG

	return
print("SSU: Walkable")#!
_debug_stair_step_up("SSU_TEST_POS", test_transform)											## DEBUG

# 6. Move player up
var global_pos = global_position
var step_up_dist = test_transform.origin.y - global_pos.y
_debug_stair_step_up("SSU_APPLIED", step_up_dist)												## DEBUG

velocity.y = 0
global_pos.y = test_transform.origin.y
global_position = global_pos

Debugging
Debug: Stair Step Down
func _debug_stair_step_down(param, value):
if STEP_DOWN_DEBUG == false:
return
match param:
	"SSD_ENTER":
		print()
		print("Stair step down entered")
	"SSD_APPLIED":
		print("Stair step down applied, travel = ", value)

Debug: Stair Step Up
func _debug_stair_step_up(param, value):
if STEP_UP_DEBUG == false:
return
match param:
	"SSU_ENTER":
		print()
		print("SSU: Stair step up entered")
	"SSU_EXIT_1":
		print("SSU: Exited with no collisions")
	"SSU_TEST_POS":
		print("SSU: test_transform current position = ", value)
	"SSU_REMAINING":
		print("SSU: Remaining distance = ", value)
	"SSU_EXIT_2":
		print("SSU: Exited due to no step collision")
	"SSU_EXIT_3":
		print("SSU: Exited due to non-floor stepping")
	"SSU_APPLIED":
		print("SSU: Player moved up by ", value, " units")

#endregion
#region SIGNALS ####################################################################################
Button: Change MAX_STEP_UP/MAX_STEP_DOWN to 0.5/-0.5
func _on_step_0_5_pressed():
MAX_STEP_UP = 0.5
MAX_STEP_DOWN = -0.5
Button: Change MAX_STEP_UP/MAX_STEP_DOWN to 1/-1
func _on_step_1_pressed():
MAX_STEP_UP = 1
MAX_STEP_DOWN = -1
Button: Change MAX_STEP_UP/MAX_STEP_DOWN to 2/-2
func _on_step_2_pressed():
MAX_STEP_UP = 2
MAX_STEP_DOWN = -2
Button: Change MAX_STEP_UP/MAX_STEP_DOWN to 4/-4
func _on_step_4_pressed():
MAX_STEP_UP = 4
MAX_STEP_DOWN = -4
Button: Change MAX_STEP_UP/MAX_STEP_DOWN to 100/-100
func _on_step_100_pressed():
MAX_STEP_UP = 100
MAX_STEP_DOWN = -100
#endregion
func _on_navigation_agent_3d_navigation_finished():
set_movement_target(Vector3(randf_range(-30,30), randf_range(-30,30), randf_range(-30,30)))
print("Enemy navigation finished.")
`


Train with Self-Conditoning and Generate without Gives better results

Hi Phil and all diffusion coder here,
I am using this diffusion codes for latent text generation. After some testing, I found out if I trained my denoising model with self-conditiong and generate content without it will give me more naturally good results.
So I am curious if it is explainable and if we are supposed to use same setting for training and generation.
Thanks.

@Leo-T-Zang share a weights and bias report?


iran open vpn

i dont know why openvpn not work on digitalocean and iran

Probably because of internet filtering. OpenVPN in Iran is spotty from my knowledge, doesn't work everywhere.
I suggest to try Shadowsocks instead, which is designed specifically to evade censorship.


Poor documentation

I am really curious about the project, can we have a better read me to describe how to install and how to work with it?

Yes @nimatrengo, thanks for your issue :))
Of course, I'm working on it and I will update it as soon as possible


Add missing include in CPC compression test

Hello,
I ran into an issue when running the tests for the library. It seems just a simple include missing from a test.
[ 54%] Building CXX object cpc/test/CMakeFiles/cpc_test.dir/compression_test.cpp.o
/data/fork-datasketch/cpc/test/compression_test.cpp: In member function ‘void datasketches::compression_test::compress_and_uncompress_pairs()’:
/data/fork-datasketch/cpc/test/compression_test.cpp:51:5: error: ‘sort’ is not a member of ‘std’
     std::sort(pairArray, &pairArray[N]);
     ^
cpc/test/CMakeFiles/cpc_test.dir/build.make:88: recipe for target 'cpc/test/CMakeFiles/cpc_test.dir/compression_test.cpp.o' failed
make[2]: *** [cpc/test/CMakeFiles/cpc_test.dir/compression_test.cpp.o] Error 1
CMakeFiles/Makefile2:285: recipe for target 'cpc/test/CMakeFiles/cpc_test.dir/all' failed
make[1]: *** [cpc/test/CMakeFiles/cpc_test.dir/all] Error 2
Makefile:140: recipe for target 'all' failed

Note that I get this issue on my local machine (Ubuntu, gcc 5.4) but it works in a Docker with gcc 4.8.5.
This PR should fix it.

Thank you!


Any.== slowed down by Panic.catch 2x times

I have just been verifying the effect of #5845 on performance of sieve.enso and via VisualVM Polyglot Sampler I can see that an enormous time is being spent on line 31 comparing == 0 and subsequently catching panics. Single round of the benchmark takes:
Hundred thousand prime numbers in 895 ms. Last one is 1299709

By changing the Enso standard library to:
diff --git distribution/lib/Standard/Base/0.0.0-dev/src/Any.enso distribution/lib/Standard/Base/0.0.0-dev/src/Any.enso
index 565b64adcb..7181423508 100644
--- distribution/lib/Standard/Base/0.0.0-dev/src/Any.enso
+++ distribution/lib/Standard/Base/0.0.0-dev/src/Any.enso
@@ -108,8 +108,8 @@ type Any
     == self that =
         # If there is No_Such_Conversion, then `self` and `that` are probably
         # host or polyglot values, so we just compare them with the default comparator.
-        eq_self = Panic.catch No_Such_Conversion (Comparable.from self) _-> Default_Comparator
-        eq_that = Panic.catch No_Such_Conversion (Comparable.from that) _-> Default_Comparator
+        eq_self = Comparable.from self
+        eq_that = Comparable.from that
         similar_type = Meta.is_same_object eq_self eq_that
         case similar_type of
             False -> False

I am able to get to better numbers. Single round of the benchmark goes down to:
Hundred thousand prime numbers in 403 ms. Last one is 1299709

e.g. the benchmark gets twice as fast by eliminating Panic.catch call.

Isn't this related to the whole if/then/else slowdown. Seems like thunk execution is really the root of all evil.

Isn't this related to the whole if/then/else slowdown. Seems like thunk execution is really the root of all evil.

Yes, the if/then/else handling may be the cause. I did some investigation https://github.com/enso-org/enso/issues/5709#issuecomment-1494620793 and yes, there is a spurious OptimizedCallTarget.callBoundary - it shouldn't be there. However I am not sure how to get rid of it.
Anyway the current Any.== logic is complex and simplifying it for simple cases is also desirable.


Extra metadata images like slide Feature description

Extension name
Extra metadata
Feature Description
suggestion: give the option to add images of the game instead of videos, where these images will pass in the style of a slide.
thankful.
great job.
keep it up.
Screenshots
No response

I'm sorry but this would require creating a new extension/control and is something that I don't have the time to make as it would be a lot of work. I'm also refraining from creating new extensions as I'm already developing and maintaining a lot of extensions and themes and I can't add more to the list,  I hope you understand.


HUB-1500: added strong_migrations and updated other gems.

Looks like the Rspec errors are all Poltergeist errors that we have opted to look at separately.


Switch to Travis CI with multiple builds

This will swap over to Travis which offers native linux builds. It's, against our expectations, slower or equal (probably due to lower specs), then our current Appveyor build. It does allow for a cleaner build and also implements a way to add random resolutions people would like to be added in our new 2 parallel building method. It builds Github Releases that contain multiple assets. This'll also make the common downloaded resolutions be more on their own so that people won't have loading problems. Also, the building process contains less initial spam due to the Travis' line folding. If there's an error from the php script it'll unfold automatically so no information is really hidden.

Only thing left for you to do is to change the https://github.com/Crementif/cemu_graphic_packs/blob/master/.travis.yml#L26 line to a secret (the one you send isn't correct, I needed the token from https://github.com/settings/tokens with all the repo options toggled). Plus, removing Appveyor webhook in this repository settings (from what I recall) and probably some other appveyor stuff. Here's what you'll need to input
. I'll be unavailable next week so it's probably better to wait until then before merging. There's also some other changes that'll have to be debugged and some other website changes.

It should be worth noting that these changes will break @nosklo's updater application.

Yup, unless he made some precautions. Nosklo could probably have some till
until then to update the hook using one example release that is already up
on https://github.com/Crementif/cemu_graphic_packs/releases.

Apologies for this, but I have to merge it now because a lot of changes got reverted when you removed the resolutions.


NTR: MutSgamma complex

Hi,
I need to request a new cellular component protein complex term, the MutSgamma complex, that is composed of a heterodimer of Msh4-Msh5. As opposed to the many existing GO:0032300 mismatch repair complexes, that includes the MutSalpha complex (GO:0032301) and the MutSbeta complex (GO:0032302), the MutSgamma complex has been shown NOT to be involved mismatch repair, but is instead involved in meiotic reciprocal recombination between homologs.
See PMID: 7622037, PMID: 8001134, PMID: 9374523 and reviewed in PMID:27648641
"The MSH4/MSH5 heterodimer, known collectively as MutSγ, is first recruited to specific sites of ongoing DSB repair and is unique among the MutS heterodimers in that it does not itself engage in mismatch correction.  Instead, in vitro studies of human MutSγ indicate that the complex forms a sliding clamp that encircles dHJ substrates and can translocate along the DNA in an ATP-dependent fashion, allowing the accumulation of further MutSγ clamps at that DSB repair site."
The complex portal ID for the complex is CPX-1704 (https://www.ebi.ac.uk/complexportal/complex/CPX-1704).
Here are the details of the NTR
NTR: MutSgamma complex
Definition: A heterodimer involved in the stabilization of DNA recombination intermediates, the promotion of crossover recombination, and the proper assembly of the synaptonemal complex in meiotic prophase nuclei. In yeast the complex consists of two subunits, Msh4 and Msh5.
Synonym:  Msh4-Msh5 complex
In terms of placement in the ontology, it should have a:
Capable of part of relationship to 'reciprocal meiotic recombination' (GO:0007131) and an is_a relationship to 'nuclear part' (GO:0044428)
Definition references: PMID: 9374523, PMID: 8001134, PMID: 7622037
Thanks,
Rob

Looks like this was one of our earlier ones and we never requested a GO term - there is no component annotation.
parent:
is_a GO:0032991 protein-containing complex
This is another example where we don't yet know its actual molecular function so creating a function-related term is impossible.


Failed state sync executions are not retried

Description
We have observed that failed state sync executions are not retried by Edge. Its hard to tell based on the src whether this is intended or not.
Is this expected behaviour? I understand that some errors around state sync execution cannot be retried successfully without some intervention first, but some errors (like the one below) could be transient in nature.
The price limit cause is just an example and I expect we would see the same behaviour if we caused this behaviour by different means. I believe we saw the same behaviour for a token that we had not mapped (stateSyncResult event contained msg UNMAPPED_TOKEN)
Your environment

Edge in Docker based on image from this repo
v1.1.0
Both local and on k8s

Steps to reproduce
This is the process to recreate this behaviour (we did this on cluster and locally to verify):

Bootstrap the supernet as per usual w/ polygon-edge CLI
Perform deposit to relayer addr
Run validators with --price-limit 100000000
Observe initial state sync execution errors due to price limit (check balance did not update also):

[ERROR] polygon.server.relayer: State sync execution failed: err="failed to send execute state sync transaction for id 1: {\"code\":-32600,\"message\":\"insufficient funds for gas * price + value\"}"
[ERROR] polygon.server.relayer: State sync execution failed: err="failed to send execute state sync transaction for id 2: {\"code\":-32600,\"message\":\"insufficient funds for gas * price + value\"}

Restart validators with --price-limit 0
Wait for epochs to tick over, observe that state sync 1 and 2 are not retried
Perform deposit to relayer addr again
Observe that state sync 3 is processed successfully (check balance is updated also)

[INFO]  polygon.server.relayer: Execute commitment: Block=460 StartID=3 EndID=3
[INFO]  polygon.server.relayer: State sync executed: ID=3

I believe the relayer does not retry execute transactions against StateReceiver.sol either (the above is just rejected by RPC).
Expected behavior
Relayer txs to execute against StateReceiver.sol rejected by RPC:
I would expect the failing txs to be retried. In the above example, they are rejected by RPC on the basis of gas.
Relayer txs to execute against StateReceiver.sol fail during execution e.g. UNMAPPED_TOKEN etc:
Unsure whether this should be retried automatically or not given the category of errors that occur here.
Logs
Relevant logs are in the steps to reproduce
Proposed solution
Relayer should keep track of failed execute txs and retry? Might depend on the type of error as suggested above in expected behaviour section.

Implemented in #1899.


Allow create/update/submit response for expired frameworks

Part of this story: https://www.pivotaltracker.com/story/show/139283847
When we expire DOS1, suppliers will still need to be able to apply to live DOS1 briefs. This means that the api needs to allow brief responses to be created/updated/published for frameworks who's status is expired.
This does that.
Also see this PR on the supplier frontend: https://github.com/alphagov/digitalmarketplace-supplier-frontend/pull/619

What you've written looks good, however it would be good to make our tests a bit stricter for briefs ( not just brief responses) by checking you can't do things like create/update a brief for an expired framework (at the moment we only test with an open framework).
https://github.com/alphagov/digitalmarketplace-api/blob/master/tests/main/views/test_briefs.py#L102

Yep, I'll take a look

@idavidmcdonald Have updated some tests to check all invalid framework states. Also tidied up that  test file. It was one massive class of tests. Now it's a few large classes.

👍 niiiiiice


Update go14.rb to Go 1.4.3

Go 1.4.3 fixes a critical security issue. https://groups.google.com/forum/#!topic/golang-announce/iSIyW4lM4hY

Merged in https://github.com/Homebrew/homebrew-versions/commit/eb35cc58c947940cf7600f33a8b57f2f1879ded5. Thank you for your contribution to Homebrew @swenson! :smiley_cat:


Support for multi-tenant applications

User story
As a provider of services, I want the capacity to select a data store on a per-request basis so that multiple tenants may use the same service whilst maintaining separate data stores.
Acceptance criteria

When users from clients A and B both make a request to the same endpoint, A's request should use datastore ADatabase and B's BDatabase.
When the service starts up, initial and background tasks should not error and operate as expected according to the relevant feature flags.

@furyd It sounds like Azure Traffic Manager might be the solution you are looking for. You can read more about that here: https://docs.microsoft.com/en-us/azure/traffic-manager/
We also have a team that has built a proxy that can help with some pre-processing steps outside of the actual FHIR server. You can read more about their solution here: https://github.com/microsoft/health-architectures/tree/master/FHIR/FHIRProxy
I'm going to close this for now as any other development on this is not on our roadmap right now but if you have additional questions please let me know.

Hi @CaitlinV39, thank you for responding - I may not have explained myself very well (lack of sleep!)
What we're looking at is providing a single FHIR server, backed by several SQL databases - one per customer - so we have data isolation.
Which database is determined at time-of-request, however the current codebase expects a single database as there are non-request based activities (e.g. init and health checks.)
I appreciate that you've no plans to go down that route currently though.


How can i track changes only inside my work folder ?

The current configuration that i am using is
[settings]
debug = false
hidefilenames = false
ignore =
    COMMIT_EDITMSG$
    PULLREQ_EDITMSG$
    MERGE_MSG$
    TAG_EDITMSG$
include=
    /home/user/Work/*

I only want to track changes made inside Work directory but it ends up tracking everything. What is the right way to do that ?

Change your config to this:
[settings]
debug = false
hidefilenames = false
ignore =
    COMMIT_EDITMSG$
    PULLREQ_EDITMSG$
    MERGE_MSG$
    TAG_EDITMSG$
    .*
include=
    /home/user/Work/*

That excludes/ignores everything, then only selectively includes your work folder.

Thanks for the instant reply.


v0.14 No longer supports yarn workspaces

Current Behavior

TSDX isn't building when used with yarn workspaces. Seems like it may be a rollup-plugin-typescript-2 cache issue?
(typescript) Error: ENOENT: no such file or directory, rename '/Users/jared/workspace/github/jaredpalmer/formik-actual/packages/formik/node_modules/.cache/rollup-plugin-typescript2/rpt2_48f7284bed271946d808c741a74a6d872af7a18e/code/cache_' -> '/Users/jared/workspace/github/jaredpalmer/formik-actual/packages/formik/node_modules/.cache/rollup-plugin-typescript2/rpt2_48f7284bed271946d808c741a74a6d872af7a18e/code/cache'
Error: ENOENT: no such file or directory, rename '/Users/jared/workspace/github/jaredpalmer/formik-actual/packages/formik/node_modules/.cache/rollup-plugin-typescript2/rpt2_48f7284bed271946d808c741a74a6d872af7a18e/code/cache_' -> '/Users/jared/workspace/github/jaredpalmer/formik-actual/packages/formik/node_modules/.cache/rollup-plugin-typescript2/rpt2_48f7284bed271946d808c741a74a6d872af7a18e/code/cache'
    at Object.renameSync (fs.js:643:3)
    at RollingCache.roll (/Users/jared/workspace/github/jaredpalmer/formik-actual/node_modules/tsdx/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js:24003:12)
    at TsCache.done (/Users/jared/workspace/github/jaredpalmer/formik-actual/node_modules/tsdx/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js:24845:24)
    at Object._ongenerate (/Users/jared/workspace/github/jaredpalmer/formik-actual/node_modules/tsdx/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js:29098:21)
    at Object.generateBundle (/Users/jared/workspace/github/jaredpalmer/formik-actual/node_modules/tsdx/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js:29076:18)
    at /Users/jared/workspace/github/jaredpalmer/formik-actual/node_modules/rollup/dist/shared/node-entry.js:13117:25
    at processTicksAndRejections (internal/process/task_queues.js:94:5)

Expected behavior

TSDX 14 works with yarn workspaces
Suggested solution(s)

Additional context

Your environment

  System:
    OS: macOS 10.15.5
    CPU: (8) x64 Intel(R) Core(TM) i7-6920HQ CPU @ 2.90GHz
    Memory: 2.11 GB / 16.00 GB
    Shell: 3.0.2 - /usr/local/bin/fish
  Binaries:
    Node: 12.14.1 - ~/n/bin/node
    Yarn: 1.22.4 - ~/.yarn/bin/yarn
    npm: 6.13.4 - ~/n/bin/npm
  Browsers:
    Chrome: 85.0.4183.121
    Chrome Canary: 87.0.4273.0
    Firefox: 71.0
    Firefox Developer Edition: 67.0
    Firefox Nightly: 58.0a1
    Safari: 13.1.1
    Safari Technology Preview: 14.0
  npmGlobalPackages:
    tsdx: 0.14.0
    typescript: 3.8.3

Have no idea why that happened. Nuked node modules and now it seems to be okay.

Looks like this is a cache bug upstream that was recently fixed: https://github.com/ezolenko/rollup-plugin-typescript2/pull/243

Gonna reverse mark this as duplicate of #892 since that now has more investigations

This has been fixed with #896 / https://github.com/ezolenko/rollup-plugin-typescript2/pull/243  and just released in v0.14.1.


chore: move to renovate

:tada: This PR is included in version 3.8.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Feature: Make integrations togglable per report

Say I have an integration with JIRA and Slack. I would like to be able to send a bug report to only Jira, Slack, or neither and just send the email. This could be an option when submitting the report.

Sounds like a great idea as well. +1
However, if this is implemented, I think it should be an optional setting, since some implementations may not want to make the used integrations public. (ex. In the case of an app which includes Buglife in production builds, it's probably not a great idea to let your users choose which integrations a report should go to.) This would be a nice addition in beta or development builds though, so making it possible to enable or disable based on scheme or flag in the setup code would be a good way of setting this, and likely a reason to enable or disable this in the code rather than in the admin dashboard.

@amelnychuck - All excellent points! We carefully consider how Buglife should work in development builds, private & public betas, as well as App Store builds, and will of course be taking this into consideration when we implement this feature :)


Add proper support for Map

Fixed by https://github.com/dart-lang/dart-protoc-plugin/pull/137 and https://github.com/dart-lang/protobuf/pull/140


Github migration fails with error 500 when issue comment is too long

Gitea version (or commit ref): g2d0b90c96
Git version: 2.20.1
Operating system: Debian 10
Database (use [x]):

[ ] PostgreSQL
[X] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[ ] Not relevant

Log gist:

Description
Trying to migrate https://github.com/Freeyourgadget/Gadgetbridge to codeberg-test.org running gitea master yields error 500 with the following in log:
2019/08/18 11:50:58 routers/repo/repo.go:320:MigratePost() [E] MigratePost: Error 1406: Data too long for column 'content' at row 1

According to https://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html
The maximum length of the TEXT type is 64KiB.
If the problem is indeed due to a very long text, we can probably use LONGTEXT for MySQL.
I am not sure if an ORM can fine-tune this for different DBMS.

Comment content have ~64KB size. Isn't it enough for almost all the situation?

@lunny
Yes, 64KB ought to be enough for everyone.
Anyway, I got that error above and that should not happen.
I will investigate which post exactly triggers the problem.
In any case 500 should be prevented by cutting off the text at a valid utf-8 boundary.

I agree. The 64K limit sounds reasonable. But whatever the limit, we should check the available size before inserting. A post-migration list of warnings explaining what compromises had to be made during migration would be ideal, so the admin will be aware of the problems and can take corrective/compensatory actions.

Besides a warning in the log, We can maybe reserve a little space to insert a line like ----- cut here, comment length exceeding 64KB -----\n  when the text is too long.

OK, I think found out why this does not fail hard on try.gitea.io but on my test instance.
sql mode is strict on my server, so exceeding column size fails hard, but is just truncated when sql mode is more relaxed (I assume this is the case on try.gitea.io)
Nevertheless, comment size is bigger on github, so we should somehow handle this.
I added a quick hack to slice the string in go, and it worked. But doing this properly on a Rune boundary is the way to I assume.

We need a PR to check comment size before insert it to database.

@lunny
This is what I did locally, but I think someone with more proficiency in go should do the PR which checks the Rune boundary. Just cutting bytes is not nice.

The issue comment problem has been fixed in 1.16

https://github.com/go-gitea/gitea/pull/16765


Updates for general overview of rode

Codecov Report

Merging #13 (f64bf39) into main (f2d887d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #13   +/-   ##
=======================================
  Coverage   86.20%   86.20%
=======================================
  Files           2        2
  Lines          29       29
=======================================
  Hits           25       25
  Misses          3        3
  Partials        1        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 f2d887d...f64bf39. Read the comment docs.


[Infra][P2P] Bug: "address not found in peerstore" error in localnet_debug_client when scaling up Localnet

Objective
Make sure that scaling up Localnet doesn't crash localnet_debug_client
Origin Document

Goals

It shouldn't be necessary to restart manually the localnet client, it should just work out of the box

Deliverable

[ ] updated CLI to fix the issue
[ ] updated P2P code to fix the issue

Non-goals / Non-deliverables

Logic changes

General issue deliverables

[ ] Update the appropriate CHANGELOG(s)
[ ] Update any relevant local/global README(s)
[ ] Update relevant source code tree explanations
[ ] Add or update any relevant or supporting mermaid diagrams

Testing Methodology

[ ] Task specific tests or benchmarks: make ...
[ ] New tests or benchmarks: make ...
[ ] All tests: make test_all
[ ] LocalNet: verify a LocalNet is still functioning correctly by following the instructions at docs/development/README.md

Creator: @deblasis
Co-Owners: @gokutheengineer, @okdas

I have worked on this today and I already have some code I need to polish and package in the form of a PR.
I created the issue to track this


Strange xcodebuild failure with Xcode.app symlink.

Don't know where to go with this issue, so i guess maybe someone could help.
I have a newly created project with Xcode Single-view iOS application template.
So I navigate to projects folder in terminal.

I do export XCODE_DEVELOPER_DIR_PATH=/Applications/Xcode.app/Contents/Developer
I run xcodebuild
The result is build failed with errors:

Check dependencies
Unsupported compiler 'com.apple.compilers.llvm.clang.1_0' selected for architecture 'armv7'
warning: no rule to process file '/Users/ilya.myakotin/Documents/Projects/XcodeBuildFailTest/XcodeBuildFailTest/XcodeBuildFailTest/ViewController.m' of type sourcecode.c.objc for architecture armv7
warning: no rule to process file '/Users/ilya.myakotin/Documents/Projects/XcodeBuildFailTest/XcodeBuildFailTest/XcodeBuildFailTest/AppDelegate.m' of type sourcecode.c.objc for architecture armv7
warning: no rule to process file '/Users/ilya.myakotin/Documents/Projects/XcodeBuildFailTest/XcodeBuildFailTest/XcodeBuildFailTest/main.m' of type sourcecode.c.objc for architecture armv7
Unsupported compiler 'com.apple.compilers.llvm.clang.1_0' selected for architecture 'arm64'
warning: no rule to process file '/Users/ilya.myakotin/Documents/Projects/XcodeBuildFailTest/XcodeBuildFailTest/XcodeBuildFailTest/ViewController.m' of type sourcecode.c.objc for architecture arm64
warning: no rule to process file '/Users/ilya.myakotin/Documents/Projects/XcodeBuildFailTest/XcodeBuildFailTest/XcodeBuildFailTest/AppDelegate.m' of type sourcecode.c.objc for architecture arm64
warning: no rule to process file '/Users/ilya.myakotin/Documents/Projects/XcodeBuildFailTest/XcodeBuildFailTest/XcodeBuildFailTest/main.m' of type sourcecode.c.objc for architecture arm64

Also many warning come out about compiler:
...
2017-05-18 11:38:12.341 xcodebuild[36274:555485] warning: compiler 'iphonesimulator::com.apple.compilers.llvm.clang.1_0.migrator.xctest' is based on missing compiler 'default::com.apple.compilers.llvm.clang.1_0.migrator.xctest'
2017-05-18 11:38:12.341 xcodebuild[36274:555485] warning: compiler 'iphonesimulator::com.apple.compilers.llvm.clang.1_0' is based on missing compiler 'default::com.apple.compilers.llvm.clang.1_0'
2017-05-18 11:38:12.342 xcodebuild[36274:555485] warning: compiler 'iphonesimulator::com.apple.compilers.llvm.clang.1_0.compiler' is based on missing compiler 'default::com.apple.compilers.llvm.clang.1_0.compiler'
...

Next up:

I do export XCODE_DEVELOPER_DIR_PATH=/Applications/Xcode-8.3.2.app/Contents/Developer
I run xcodebuild
And everything builds just fine.
By default I don't have XCODE_DEVELOPER_DIR_PATH set in my terminal's env and the build is successful. I came across this issue when I ran script from Xamarin build process. (I have a helper native project to upload dSYM file to Fabric). Xamarin sets this variable to its terminals env. But it's nothing wrong to set it, right? On my colleagues computer he has Xcode installed from AppStore (so no symlinks) and he is fine.
I tried to chown symlink to my current user, didn't help.

$ls -la /Applications | grep Xcode
drwxr-xr-x   3 ilya.myakotin  staff    102 Apr 12 20:43 Xcode-8.3.2.app
lrwxr-xr-x   1 ilya.myakotin  staff     29 Apr 19 14:10 Xcode.app -> /Applications/Xcode-8.3.2.app

The workaround is add export XCODE_DEVELOPER_DIR_PATH= when it runs from Xamarin, but it's really interesting to find out why it happens.

http://www.botsmax.com/index.php?m=friend&c=show_profile&fid=6019043


Add quickcheck test for minmax method.

Fixes #145.
I decided to duplicate the Val type from the minmax function in the test/tests.rs file into the test/quick.rs file. I could not think of an alternative that does not require duplication.
P.S. This is my first pull request I made on someone else's repository. If I did something wrong, please tell me.

Thanks!


Remove logs

Task/Issue URL: https://app.asana.com/0/488551667048375/1203553001428517/f
Description
see asana task
Steps to test this PR
See asana task

Current dependencies on/for this PR:

develop

PR #2644   👈

This comment was auto-generated by Graphite.