SparkFetcher should delay collecting uncompleted Spark apps

I've been debugging Dr. Elephant on Spark 2.1 and noticed that some of the apps are never aggregated. Roughly it goes as follows:

AnalyticJobGeneratorHadoop2 queries the RM for a list of finished jobs/apps.
SparkFetcher gets all the new Spark apps. Some of them are truly finished, others (for reasons I don't yet completely understand) have completed: false in a list of attempts.
The fetcher tries to resolve them and gets a 500 Internal Server Error during getLogData (see #225). The app gets added to the retry queue and, if we're really unlucky, gets dropped after three attempts.

The trace on the History Server side is
17/03/23 22:45:31 INFO history.ApplicationCache: Failed to load application attempt application_1490183156364_349617/Some(1)
17/03/23 22:45:31 WARN servlet.ServletHandler:
javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.io.FileNotFoundException: File does not exist: /var/log/spark2/application_1490183156364_349617_1.lz4.inprogress
        at org.apache.hadoop.hdfs.server.namenode.INodeFile.valueOf(INodeFile.java:66)
...

which suggests this could be the case for the WebHDFS-based SparkLogClient as well (although the HTTP code would probably be 404).
The problem, as far as I understand it, is that only the apps with completed:true have logs and SparkFetcher ignores that fact. A proper fix for this would be to delay the analysis on the app until it has completed, which could be done by not incrementing the counter in AnalyticJob.retry.
I am curious whether somebody had similar issues with Spark 2.1 or earlier versions? The completed:true contract is undocumented and could be plain wrong, do you think we should implement it in SparkFetcher anyway?

@superbobry I think it's an issue that should be fixed in SparkFetcher.
On the other hand, I do have a question about the source of the problem. I have a suspicion that this problem is not triggered when getLogData is called. I think it happened when the fetcher tried to get other Spark data using REST calls, which is before then getLogData. The reason for my suspicion is the following message:
17/03/23 22:45:31 INFO history.ApplicationCache: Failed to load application attempt application_1490183156364_349617/Some(1)
This log messages is printed by loadApplicationEntry method in ApplicationCache. The method, loadApplicationEntry is called when history server cannot find SparkUI instance for an application in its cache, and creates SparkUI instance by reading the eventlog. I think history server is not able to find the event log when it's trying to read it.

Thanks for the reference. I will do more investigation on this and update the issue accordingly.
All I know now is that not fetching apps with completed:false solves the 500 issue.

Also found the reason why certain applications are classified as incomplete. Check the the following code FsHistoryProvider:
/**
   * Return true when the application has completed.
   */
  private def isApplicationCompleted(entry: FileStatus): Boolean = {
    !entry.getPath().getName().endsWith(EventLoggingListener.IN_PROGRESS)
  }

From the code I referred in my earlier comment, it seems like that an application incomplete if .inprogress is in the suffix of the eventlog file, which is also the case you reported. However, the history server could not find the eventlog file with .inprogress suffix even though the completed: false. That is strange.
Is it possible that in the beginning, the application was incomplete when history server first tried to get ApplicationInfo, and later on when history server tried to read the .inprogress eventlog file for that application it got completed by that time?

The history server polls the log directory to update the log path for each application, and the polling interval is 10 seconds. I think it might have happened during that 10 sec time interval, the application was completed and the .inprogress suffix was removed from the log path. And that's why the file wasn't found.
I agree with you. The best solution for this issue is to first only get ApplicationInfo from history server, and if completed: true, then only try to get the rest of the data, otherwise keep it unanalyzed and anlyze it later.
@superbobry Are you already working on the fix, otherwise I can work on it.

Thank you, all this sounds reasonable. Do you think we should forward this to Spark devs? 500 clearly looks like a bug to me.
I have the fix for SparkFetcher ready, but I think it'd better to submit it after #225 is merged, because the issue only affects REST-based fetcher.

@superbobry How often it happened that after three retries you still saw the same error? I am asking because it's a little dangerous to always put an application in retry list based on completed: false. It may happen that for some reason (a bug in history server), an application is always incomplete. In that case, the fetcher will keep that application in retry list in forever.
Moreover, if our theory is that this issue is happening due to a race condition where the fetcher thinks that an application is incomplete but the application is completed. That race condition should be resolved in the next retry attempt. What do you think? I am also curious what's the value of spark.history.fs.update.interval for your spark history server? The value of this config property is the polling interval of Spark history server, which is 10 secs by default.

I've tried setting maxRetries to a bigger value (6, 9) and I think the fetcher still never managed to fetch the application. I will do more experiments to validate that, because if it's true, than the cause is not the race condition.

I am also curious what's the value of spark.history.fs.update.interval for your spark history server?

We are using the default value, so it must be 10 secs.

That's true. If you still see the error after maxRetries, then it doesn't seem to be the race condition I was talking about.


Can't run on Windows 8.1 64bit, Node.js 0.12.4

@caspervonb This looks so exciting and I can't wait to start working with it, but I am getting this error on your react-simple example. What gives?
> @ start C:\Users\Tom\Dev\stereokai-player
> amok index.js --client chrome --compiler browserify --verbose --transform reactify --fast

net.js:633
    throw new TypeError('invalid data');
          ^
TypeError: invalid data
    at WriteStream.Socket.write (net.js:633:11)
    at C:\Users\Tom\AppData\Roaming\npm\node_modules\amok\bin\amok.js:88:20
    at C:\Users\Tom\AppData\Roaming\npm\node_modules\amok\lib\index.js:53:14
    at next (C:\Users\Tom\AppData\Roaming\npm\node_modules\amok\node_modules\ware\lib\index.js:77:35
)
    at C:\Users\Tom\AppData\Roaming\npm\node_modules\amok\node_modules\ware\node_modules\wrap-fn\ind
ex.js:121:18
    at Ware.<anonymous> (C:\Users\Tom\AppData\Roaming\npm\node_modules\amok\node_modules\ware\node_m
odules\wrap-fn\index.js:47:16)
    at next (C:\Users\Tom\AppData\Roaming\npm\node_modules\amok\node_modules\ware\lib\index.js:85:20
)
    at C:\Users\Tom\AppData\Roaming\npm\node_modules\amok\node_modules\ware\node_modules\wrap-fn\ind
ex.js:121:18
    at Server.ready (C:\Users\Tom\AppData\Roaming\npm\node_modules\amok\lib\server.js:27:7)
    at Server.g (events.js:199:16)

npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\
\bin\\npm-cli.js" "start"
npm ERR! node v0.12.4
npm ERR! npm  v2.10.1
npm ERR! code ELIFECYCLE
npm ERR! @ start: `amok index.js --client chrome --compiler browserify --verbose --transform reactif
y --fast`
npm ERR! Exit status 1

A quick look shows that ware.run() returns an error for one of the plugins, implying that maybe something is wrong with the configuration?

The examples have not been updated to 1.x yet.

You are the man
Thanks.

@caspervonb Actually, Amok now opens up a new tab and serves the example, but if I edit index.js, nothing updates in the browser.
I appreciate your attentiveness.

Your browser has to either be already be listening on the port specified by the --debug-port option (default 9222), or amok has to spawn a new process. But if the browser is already open only a new window will be spawned, so either provide a custom profile via the CHROME_FLAGS environment variable ala
set CHROME_FLAGS="user-data-dir=C:\amok_chrome_profile"

Or make sure chrome is not running before starting chrome, It's in the manual ;)

Man, I apologize. I should have paid more attention in class.
When I did that and ran npm start, Chrome has created a new user profile. What have I done wrong again?

By either providing a user profile or ensuring a fresh start, you should be good to go.

I have provided the path to my own user profile, as so:
--user-datadir=C:\Users\Tom\AppData\Local\Google\Chrome\User Data\Default

Isn't that the correct path?
By the way, I also received this message in my terminal:
[6936:7096:0610/135726:ERROR:bluetooth_adapter_win.cc(102)] NOT IMPLEMENTED
Download the React DevTools for a better development experience: https://fb.me/react-devtools

If chrome is your day to day browser, you'd want a separate user profile for development to make sure it'll be in debugger mode

Pardon me, I couldn't find anything about Chrome Debugger Mode. Could you kindly tell me about it?

I mean, are you talking about the devtools:

That's what I could bring up trying to find chrome debugger mode. Please expand why is it important to have a separate profile? Thank you.

Was referring to remote debugging server, enabled with --remote-debugging-enabled=PORT on chrome like browsers.
TLDR;
If you use Chrome as your every day browser, I'd recommended that you use a separate profile for development with amok to ensure that you get separate processes for development and normal browser usage.
set CHROME_FLAGS="--user-data-dir=path/to/anything"

Chrome will create a profile in that directory and use it.

Got it. Thanks buddy.

This was resolved way back in the archive branch https://github.com/caspervonb/amok/commit/f629bd76ff491daa81a99580cc38e11b3b00f8ba
The default behavior since 1.0 is that each browser is spawned with its own unique profile.


Release: 2.4.0 -- Accounts

Description
//Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Refactored the accounts view page & removed outdated farms
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have assigned 2 reviewers to check my work
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

We should still actually release this on Thursday, but PR Reviews and all that doesn't need to be held back


💡 [REQUEST] - Change peer deps to module deps

Describe the feature
Is there a crucial reason why quasar and @quasar/extras are peer deps instead of module direct deps so we don't have to install them manually? Thanks. 💚💙🔥
Additional information

[X] Would you be willing to help implement this feature?
[ ] Does this feature have a potential to break existing features?

Solved
Apparently it was an error.
I'm being able to install this module without having to install quasar and @quasar/extras.
Closing.

Having issues again, with bun and pnpm... it gets solved by installing quasar and @quasar/extras...
I'm curious now as to what was the scenario where I could get away without installing them... 🤔
Anyway, reopening.

Should be fixed with v2.1.1

Hm might be cause I marked @quasar/extras as optional peer dependency. Seems pnpm automatically installs peer dependencies. Can you check if it works when you only install @quasar/extras?

Sorry for the delay. I'm on it.

Update
I don't understand what's happening.

I ran bun remove quasar, bun remove @quasar/extras, pnpm remove quasar, pnpm remove @quasar/extras to ensure that I'm starting fresh.
Also removed node_modules, .nuxt, bun.lockb and pnpm-lock.yaml.

-Removed quasar and @quasar/extras from package.json, and kept only nuxt-quasar-ui.

Run pnpm install && pnpm run dev, and surprise! No errors, and quasar is working!

🤣silly me! When I ran pnpm install, the new version of nuxt-quasar-ui got installed. Wow so fast! ⚡🤯

👀One last test before closing Issue, now with bun.

Everything working smooth with pnpm and bun. Thanks so much! 🎉✅😍😁👏💚💙🔥⚡


README

Adds some docs, and hopefully triggers the action

comment

lgtm

lgtm

lgtm

LGTM

LGTM

Hey so it LGTM


Replay from dead/forked node: Introduce NodeStateDump

Description
This introduces NodeStateDump which is the set of objects and info required to reproduce a fork in replay.
The created state is a few MB, so not too concerning. Json was so the data is human readable.
Most of the logic in this PR is in getting the replay system to load from state dump.
Sample config
state-debug-dump-config:
  dump-file-directory: /tmp/

Test Plan
Tested by simulating forks and replaying from dumps.

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

lol I do no know why github created 5 copies of my comment

lol I do no know why github created 10 copies of my comment

Strange. It's all good.
Thanks for review. All comments are addressed now.


deps: Remove opentracing

As explained here https://github.com/envoyproxy/envoy/issues/9958#issuecomment-1537414327 the opentracing build is currently broken due to cmake being removed from the host environment, and is due to be removed.
This should have been scheduled for deprecation a long time ago as there was a public conversation and some shared expectation among dep-shepherds that this would be removed
We can postpone this landing until after the next release if we can find a solution to  https://github.com/envoyproxy/envoy/pull/27244, but currently the build is broken (eg for anyone building locally without an existing cache) so probably the better thing is to land this and revert temporarily if someone provides an adequate fix

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

seems the only thing that is depending on the opentracing lib is jaeger-native example for its config
this example uses a binary of uncertain origin so has always been problematic, and not overly helpful as an example
im wondering if we want to keep it and fix the config, or just remove this also (mho is probably the latter)

/watch

/wait on outcome of conversations in #9958 and/or #27244

/lgtm deps

So from this PR alone, the context for why this change should happen is completely missing and there is also no issue linked in the PR description (only later in the comment thread are #27244 and https://github.com/envoyproxy/envoy/issues/9958 mentioned.
I think there should be a good summary for why you remove this, if you decide to remove this.
I would prefer you kept it, as we at Dynatrace rely on the dynamic_ot tracer to inject our agent. There is no equivalent replacement available that would allow us to execute code that gathers additional process metrics in-process and use our custom exporter/protocol code. Even though we are working on a replacement based on the OpenTelemetry exporter (which is also not yet available in with the OTel-spec-defined default HTTP transport), we would be thankful if you could manage to carry the feature a bit longer.

@kyessenov can we land this for now so we unbreak local devs
im happy to assist readding as explained before the next release if necessary - we can also open a ticket to track

Can you explain how this breaks local dev? I tried to build from main 1bd16ecb51a641f6823a243ed8e3b516cb7dca0a on Ubuntu (WSL 2) with LLVM 14 and it worked fine for me. What are you using that breaks?

can you post your build command please

I just used what was described in the readme:  bazel build envoy

are you using the ci/run_envoy_docker.sh container ?

No, I couldn't get the VS Code devcontainer to work for me due to networking issues, probably related to WSL 2, so I didn't even try that other one. From what I understand, I might accidentally work around the problem by having CMake installed in my environment?

I might accidentally work around the problem by having CMake installed in my environment?

correct - or induce the problem we are trying to fix depending on pov

Is that the "expected" error?
$ ci/run_envoy_docker.sh
Unable to find image 'envoyproxy/envoy-build-ubuntu:818d28832abf2a7c0cb2bff00435be231729a0bf' locally
818d28832abf2a7c0cb2bff00435be231729a0bf: Pulling from envoyproxy/envoy-build-ubuntu
ca1778b69356: Already exists
b432f54f75b7: Already exists
ed06dd65c63d: Already exists
66a08b852327: Already exists
Digest: sha256:9b04e1cb04fc579142dd820da4583823413b486928941a6c557752a9bcad0608
Status: Downloaded newer image for envoyproxy/envoy-build-ubuntu:818d28832abf2a7c0cb2bff00435be231729a0bf
No cmake here!
bash: -c: line 1: syntax error: unexpected end of file

Is that the "expected" error?

if you dont give it any commands
probs it could handle this better

Thanks, I just found https://github.com/envoyproxy/envoy/tree/main/ci#on-linux, I will look into that

closing this as the immediate issue has been resolved in #27400
there is still the intention to deprecate and remove this lib - but i will open a separate ticket to track that


Set up ui routing and organize by feature

Cool cool cool.

Looks good and provides a nice initial target skeleton.


MultiProcessConsumer disregards topic offsets between subsequent runs

Not sure if this works as designed but, every time I invoke MultiProcesConsumer on same topic/partition (new execution thread), the consumer disregards the consumer offset in Zookeeper and reads all the messages that are available. SimpleProcessConsumer only reads messages that have not been read. Shouldn't MultiProcessConsumer behave the same way?
Code snippet:

brokers=["localhost:9092","localhost:9093","localhost:9094"]
kafka = KafkaClient(brokers)
consumer = MultiProcessConsumer(kafka, "marcin-group", "test_1", num_procs=2)
logging.debug('*** all offsets=%s' %consumer.offsets)
consumed_count=0
for message in consumer:
    print(message)
    consumed_count += 1

logging.debug('*** all offsets=%s ...after consuming all messages, number of messages consumed=%s' % (consumer.offsets, consumed_count)
----------------------------------------
ZK info:
get /kafka/consumers/marcin-group/offsets/test_1/0
200
cZxid = 0x1a2f0
--------
Debug snippets from the log file:
DEBUG:root:*** all offsets={0: 200}
.....
DEBUG:kafka:Commit offset 100 in SimpleConsumer: group=marcin-group, topic=test_1, partition=0
.....
DEBUG:kafka:Commit offset 200 in SimpleConsumer: group=marcin-group, topic=test_1, partition=0
.....
DEBUG:root:*** all offsets={0: 200} ...after consuming all messages, number of messages consumed=200

i think the best solution here is to fetch committed offsets in the base consumer on init.  currently it is only done when autocommit is configured, but any consumer that uses a pre-existing group should use those offsets by default.

See PR #356 -- I recall now that the reason SimpleConsumer only fetches commits when auto_commit=True was because everyone was using server v0.8.0 and it did not have support for offset commit/fetch. We should change to check whether client.group is None.

Sounds good to me, it's simpler to reset offsets only when required (minority of cases), and resuming offsets should be the default behavior.

#356 merged -- this should be fixed now and will be available in 0.9.4 release


SunOS Support

I added support for sunOS based on the answer on stackoverflow
This is tested on my dev machines (Sunos_x86 and Sparc) and working. However its a simple copy/past job

Why answer did you copy paste exactly?

I'm not really sure what you mean.
I copied the __linux functions because its quite similar. In Retrospect it would be easier to just add #define WAI_PROC_SELF_EXE "/proc/self/path/a.out" and #define WAI_PROC_SELF_MAPS "/proc/self/map" on sun systems instead of copying everything
I will change that and test again :-)

Will do that on Friday 😊

New PR #12


improve linkchecker for all builds

Implements the solution from https://github.com/openmicroscopy/ome-internal/pull/381 for the OMERO and contributing docs

Due to https://github.com/hflynn/ome-documentation/blob/c07a77857f07c113d45ca01b32e39ef8fd02e2c6/contributing/conf.py#L19 I'd expect the variables to be included from common.

Ah, I figured I may as well include it everywhere, but can remove again if you prefer

Builds all green, merging this for 5.4.4 too


feat(logs): include scope in changelogs

When the scope is set, include it in changelogs, e.g.,
"feat(x): some description" becomes:
* **x**: some description
in the changelog. This is similar to how the Node semantic release (and conventional-changelog-generator) generate changelogs. If scope is not given, it's omitted.
Add a new config parameter changelog_scope to disable this behavior when set to False

Totally open to adjusting test cases, switching the default, or other feedback.
At some point, I'd also like to add a separate change to make PR links clickable in the changelog when present.


build a hugging face connector

2d

@blythed @sjrl should this be closed?

I believe this is a won't do, but @blythed should confirm.


Pin #ing Issue in HAL files

Hi,
Starting off, really appreciate the tool, it's a clean version of pnconf and has helped me a lot so far so thank you for developing it.
My board configuration: 7i96s + 7i77 (via DB25)
firmware:7i96s_7i77d.bin
LinuxCNC 2.93
Mesaflash 3.4.9
Python 3.11.2
Issue only seems to be with respect to 7i77 pins although haven't confirmed with host board yet.
Just starting out and creating a configuration with only 1 axis (X) and it seems MesaCT generates the following hal file that causes LinuxCNC to error upon start up.
Debug message:
'./main.hal:77: Pin 'hm2_7i96s.0.7i77.0**.4.**analogout0' does not exist'
Reading Mesa documentation, pin out should be:
"(float in) .7i77.0.1.analogoutN: (N = 0 to 5) This controls the analog output of the 7I77."
Updating .hal file line from 4 to 1 fixes issue.
Pin outs in io.hal file are also not starting at 0 also.
'# Inputs
net joint-0-home joint.0.home-sw-in <= hm2_7i96s.0.7i77.0.3.input-01'
Updating .hal file from 3 to 0 fixes error.
Is there something that is missing in my set up configuration or is this a bug?
Thanks,
Michael

Looks like a bug, I'll look into fixing it.
JT

Yes, I’m at work now, but I can this afternoon

This might take a while to sort out, I'm thinking I need to totally rewrite the hal section.
JT

Got the port number for the daughter card sorted out. On to the next bug...
JT

Fixed the analog port numbers for 7i96s. On to the next bug...
JT

Everything should be fixed if not just open a new issue.
JT

Thank you!


Mouse not working past the 223rd Column

Steps to reproduce:

Open a terminal >223 columns wide
Open vim with vim -N -u NONE
Open a text file with long lines, or use splits until you have text past the 223rd column of the window
:set mouse=a
Note that you can select a character in the 223rd column, but not in the 224th

Vim 8.0.1250 compiled by homebrew (full version info), Mac OS X 10.13.1, reproduced in both iTerm 2 3.1.5 and Terminal.app 2.8
I was not able to reproduce the bug in neovim.

Please read the help at 'ttymouse'

Thank you for the quick response, and sorry for the spurious report

For anyone who gets here by search, this is solved by adding this to add this to my .vimrc:
if has("mouse_sgr")
    set ttymouse=sgr
else
    set ttymouse=xterm2
end

Bill Mill wrote:

Steps to reproduce:

Open a terminal >223 columns wide
Open vim with vim -N -u NONE
Open a text file with long lines, or use splits until you have text past the 223rd column of the window
:set mouse=a
Note that you can select a character in the 223rd column, but not in the 224th

Vim 8.0.1250 compiled by homebrew (full version info), Mac OS X 10.13.1, reproduced in both iTerm 2 3.1.5 and Terminal.app 2.8

What is the output of:
:set term?
:set ttymouse?
:echo has('mouse_sgr')
--
"Beware of bugs in the above code; I have only proved
it correct, not tried it." -- Donald Knuth
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

What is the output of:
:set term?
:set ttymouse?
:echo has('mouse_sgr')

Now that I've fixed it by forcing sgr mode in my vimrc, it's:

term=xterm-256color
ttymouse=sgr
1

When I run vim without my vimrc, I get the same except ttymouse=xterm2
-Bill

Bill Mill wrote:

What is the output of:
:set term?
:set ttymouse?
:echo has('mouse_sgr')

Now that I've fixed it by forcing sgr mode in my vimrc, it's:

term=xterm-256color
ttymouse=sgr
1

When I run vim without my vimrc, I get the same except ttymouse=xterm2

So Vim doesn't recognize your terminal.  You call it "xterm-256color",
but it's probably something else. What does this give you:
echo v:termresponse

--
A village.  Sound of chanting of Latin canon, punctuated by short, sharp
cracks.  It comes nearer.  We see it is a line of MONKS ala SEVENTH SEAL
flagellation scene, chanting and banging themselves on the foreheads with
wooden boards.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

So Vim doesn't recognize your terminal.  You call it "xterm-256color",
but it's probably something else. What does this give you:

echo v:termresponse

I get:
^[[>0;95;0c
-Bill

Bill Mill wrote:

So Vim doesn't recognize your terminal.  You call it "xterm-256color",
but it's probably something else. What does this give you:

echo v:termresponse

I get:
^[[>0;95;0c

Hmm, that's similar but not the same as what Mac Terminal.app sends.
What is the terminal called?
How do we know this terminal supports SGR?
--
If you had to identify, in one word, the reason why the
human race has not achieved, and never will achieve, its
full potential, that word would be "meetings."
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

On Sun, Nov 12, 2017 at 11:05 PM, Bram Moolenaar
<EMAIL_ADDRESS>wrote:

Bill Mill wrote:

So Vim doesn't recognize your terminal. You call it "xterm-256color",
but it's probably something else. What does this give you:

echo v:termresponse

I get:
^[[>0;95;0c

Hmm, that's similar but not the same as what Mac Terminal.app sends.
What is the terminal called?
How do we know this terminal supports SGR?

IIUC, this terminal advertises the bare minimum version for an
automatically detected xterm2 (though the help for 'ttymouse' has
conflicting info: at versions 88 to 94, the terminal might accept
xterm2 codes but Vim won't bet on it). If the terminal supports SGR,
it ought to report version 277 or higher, rather than "only" 95.
Best regards,
Tony.

Hmm, that's similar but not the same as what Mac Terminal.app sends.

I get the exact same string form Mac Terminal.app

What is the terminal called?

iTerm2 version 3.1.5

How do we know this terminal supports SGR?

It says so in the docs: https://iterm2.com/faq.html and actually includes the snippet to enable sgr in vim. (If you mean how do we, vim, know it supports SGR, I have no idea)
Thanks so much for looking into this.
-Bill

Update: I get ^[[>1;95;0c (terminal.app) rather than ^[[>0;95;0c (iterm2). My bad, sorry for that.
-Bill

Actually, here's the source for that response: https://github.com/gnachman/iTerm2/blob/469d65f3e1521504b96d707c0f272eb285589ca2/sources/VT100Output.m#L92
Which I'll copy here (it's short):

// TODO: When xterm compatibility is reached, change 95 to 314 or later. Even 277 would be an
// improvement as it would let vim use ttym=sgr rather than xterm2, which passes through luit.
// However, it must return three arguments (at the very least) to keep vim happy. For more, see
// check_termcode() in vim's term.c.
#define REPORT_SDA           "\033[>0;95;0c"

-Bill

Bill Mill wrote:

Update: I get ^[[>1;95;0c (terminal.app) rather than ^[[>0;95;0c
(iterm2). My bad, sorry for that.

OK, we could use that to enable SGR.  Perhaps it also works for
Terminal.app?
Need to check what happens if we enable SGR for a terminal that doesn't
support it, might be OK.
--
Back off man, I'm a scientist.
-- Peter, Ghostbusters
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

OK, we could use that to enable SGR.  Perhaps it also works for Terminal.app?

SGR does work on terminal.app as well


Duplication on Vectors of or2s and sr2o

Hello, I run your codes on another dataset. Surprisingly, MRR/FMRR for head entity are both "inf" and filted rank_s can be negative. So I check the codes.
Maybe codes #165-#171 in main.cpp need to be corrected. Because values in "__sr2o.at(hash(s,r))" can be duplicated. When I correct the codes in following way, 'inf' and 'negative' problems can be solved.
vector<int> sr2o(int s, int r) const {
   //    return __sr2o.at(hash(s,r));
   vector<int> tmp = __sr2o.at(hash(s, r));
   sort(tmp.begin(), tmp.end());
   tmp.erase(unique(tmp.begin(), tmp.end()), tmp.end());
   return tmp;
   }

    vector<int> or2s(int o, int r) const {
    //    return __or2s.at(hash(o,r));
     	vector<int> tmp = __or2s.at(hash(o, r));
	sort(tmp.begin(), tmp.end());
	tmp.erase(unique(tmp.begin(), tmp.end()), tmp.end());
	return tmp;
    }

I also encountered this problem, thanks to your correction


Missing tests on 3.x

There seems to have been a bad rebase / merge during the 3.x creation and release process. I noticed that a test file was missing on 3.x and after further digging I found that the the assertions were not moved to another file.
The test file in question is tests/Type/data/model-relations-l11-15.php and git seems to have no record of the file being deleted on 3.x
Not sure if other files have been affected.

Hi,
You are totally right. I'm not sure what happened. I was sure I moved all those tests to model-relations file. Fixed with: 02f35d2d
Thank you.


CentralPackageVersions: ability to import other .props file into Packages.props

Hi,
We want to standardize on a set of versions for the common third party packages we're using across a set of repositories/solutions,
but since each repo should be self-contained, we want to distribute (by copy) a Packages.Common.props into each repo and
import it into Packages.props.
We've tried to:

<Import Project="Packages.Common.props" /> in the Packages.props file -> error: the package reference 'XXX' must have a version defined in (...)Packages.props
Set the CustomBeforePackageVersionsProps to $(MSBuildThisFileDirectory)Packages.Common.props in a Directory.Build.props file -> same error as above.

Does anyone know if this should be possible without making changes to the SDK?

I tried your first solution which is to add an import in Packages.props which worked.
ClassLibrary.csproj
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard1.3</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="log4net" />
    <PackageReference Include="Newtonsoft.Json" />
  </ItemGroup>
</Project>

Packages.props
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <Import Project="Packages.Common.props" />

  <ItemGroup>
    <PackageReference Update="log4net" Version="2.0.8" />
  </ItemGroup>
</Project>

Packages.Common.props
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <ItemGroup>
    <PackageReference Update="Newtonsoft.Json" Version="10.0.1" />
  </ItemGroup>

</Project>

The CustomBeforeCentralPackagesProps won't work because your updates need to come after this line and there is no import extension point there.  So importing it in Packages.props is the best solution.
If you can get the error to come up, can you share a simple repro?


Script options with px:type="xs:boolean"

Script options with a px:type of xs:boolean could be given values true() and false() instead of "true" and "false". I don't even know whether this is supported by XProc. Are true() and false() valid xs:untypedAtomic? See http://www.w3.org/TR/xproc/#p.option.
Related: https://github.com/daisy/pipeline-framework/pull/84

I'm using select="'true'" and select="'false'" since I think I had an issue with using booleans sometime in the past. But I did some tests now, both using XPath 1.0 and 2.0 and it doesn't seem to make a difference if you substitute it with select="true()" and select="false()".
From http://www.w3.org/TR/xpath-datamodel/ :

When xs:untypedAtomic is specified as the type, no validation takes place.

and

No predefined types are derived from xs:untypedAtomic.

So I would assume all values are valid xs:untypedAtomic ?

Do you mean that in your test, the XPath expression if ($var) then 'foo' else 'bar', where $var is an XProc variable with value false(), evaluates to 'foo'?

Ah, you're right. That doesn't work. I tried $var = 'true' and $var = true() which works, but it works because it performs string comparison.
In your case $var is evaluated as a string but not compared to anything, and all non-empty strings in XPath evaluates to true.
You can still use true() and false() in the select expression but you always need to compare it as a string in your scripts, so using the string version makes it more clear for the script author that they need to use string comparison.
I think this will be fixed in XProc 2.0.

I thought that xs:untypedAtomic maybe meant that the values are casted automatically to the right type. But it seems it's more like a string. OK so I guess the conclusion is that this feature is impossible to do now because of the way XProc currently works.


[Bug]: Error when saving env file in developer view

Description

i got this error same with other people when trying to save env in developer view
Minimal Reproduction (if possible, example repository)
save env in developer view
Exception or Error
No response
Version
v4.0.0-beta.108

Duplicate of #1378 (will be fixed in the upcoming version)


MSW example not working

The MSW example seem to not be working anymore.
This error appear in the front and on the server when we try to reach the home page after running
npm run dev

Application Error

FetchError: request to https://my-mock-api.com/ failed, reason: response3.headers.all is not a function
    at NodeClientRequest.<anonymous> (/****/examples/msw/node_modules/@remix-run/web-fetch/src/fetch.js:112:11)
    at NodeClientRequest.emit (node:events:517:28)
    at NodeClientRequest.emit (/****/examples/msw/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/NodeClientRequest.ts:299:22)
    at /****/examples/msw/node_modules/@mswjs/interceptors/src/interceptors/ClientRequest/NodeClientRequest.ts:153:14

The codeSandbox link seem to also have the same error
BTW: my node version is v18.18.0

I forgot to mention that I tried to initialize the service worker like MSW doc is saying :
npx msw init public/ --save

It succeeded, but the error still happens.

Hey @SylRob
That problem was described in the README, as the used msw version didn't support node's fetch at that time.
I just upgraded the example to latest msw & remix version, and everything should be working fine.
Please open a new issue if you're still facing problems 🙏🏼


Midea Air Recognized but commands not working

Here is the output when I try to change the temperature.
[31/07/2022, 16:39:04] [midea-air] Updating accessory: Pool House<PHONE_NUMBER>99519)
[31/07/2022, 16:39:04] [midea-air] [updateValues] Header + Command: 90,90,1,16,89,0,32,0,80,0,0,0,169,65,48,9,14,5,20,20,213,50,1,0,0,17,0,0,0,4,2,0,0,1,0,0,0,0,0,0,170,32,172,0,0,0,0,0,0,3,65,129,0,255,3,255,0,2,0,0,0,0,0,0,0,0,0,0,0,0,3,205,156,16,184,113,186,162,129,39,12,160,157,100,102,118,15,154,166
[31/07/2022, 16:39:05] [midea-air] Send command to: Pool House<PHONE_NUMBER>99519) [updateValues] attempt 1/2 success!
[31/07/2022, 16:39:05] [midea-air] useFahrenheit is set to: false
[31/07/2022, 16:39:05] [midea-air] Target Temperature: 26˚C
[31/07/2022, 16:39:05] [midea-air] Indoor Temperature is: 27.1˚C
[31/07/2022, 16:39:05] [midea-air] Outdoor Temperature is: 41.5˚C
[31/07/2022, 16:39:05] [midea-air] Power State is set to: 1
[31/07/2022, 16:39:05] [midea-air] Operational Mode is set to: 1
[31/07/2022, 16:39:05] [midea-air] Fan Speed is set to: 101
[31/07/2022, 16:39:05] [midea-air] Swing Mode is set to: 0
[31/07/2022, 16:39:05] [midea-air] Eco Mode is set to: false
[31/07/2022, 16:39:05] [midea-air] Turbo Mode is set to: false
[31/07/2022, 16:39:05] [midea-air] Full data is: 11000000,1,101010,1100101,1111111,1111111,0,0,0,0,100,1100111,10000101,1110,0,10000110,0,0,0,110010,0,0,0,0,0,0,0,0,11,1111101,10100010,0,0,0,0,0,0,0,0,0,0,0,0,0
[31/07/2022, 16:39:05] [midea-air] [updateValues] Send update command to: Pool House<PHONE_NUMBER>99519)
[31/07/2022, 16:39:26] [midea-air] Triggered GET Active
[31/07/2022, 16:39:26] [midea-air] Triggered GET Current HeaterCooler State
[31/07/2022, 16:39:26] [midea-air] Triggered GET Target HeaterCooler State
[31/07/2022, 16:39:26] [midea-air] Triggered GET CurrentTemperature
[31/07/2022, 16:39:26] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:26] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:26] [midea-air] Triggered GET RotationSpeed
[31/07/2022, 16:39:26] [midea-air] Triggered GET SwingMode
[31/07/2022, 16:39:26] [midea-air] Triggered GET Temperature Display Units
[31/07/2022, 16:39:26] [midea-air] Triggered GET Active
[31/07/2022, 16:39:26] [midea-air] Triggered GET Current HeaterCooler State
[31/07/2022, 16:39:26] [midea-air] Triggered GET Target HeaterCooler State
[31/07/2022, 16:39:26] [midea-air] Triggered GET CurrentTemperature
[31/07/2022, 16:39:26] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:26] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:26] [midea-air] Triggered GET RotationSpeed
[31/07/2022, 16:39:26] [midea-air] Triggered GET SwingMode
[31/07/2022, 16:39:26] [midea-air] Triggered GET Temperature Display Units
[31/07/2022, 16:39:30] [midea-air] Triggered GET Active
[31/07/2022, 16:39:30] [midea-air] Triggered GET Current HeaterCooler State
[31/07/2022, 16:39:30] [midea-air] Triggered GET Target HeaterCooler State
[31/07/2022, 16:39:30] [midea-air] Triggered GET CurrentTemperature
[31/07/2022, 16:39:30] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:30] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:30] [midea-air] Triggered GET RotationSpeed
[31/07/2022, 16:39:30] [midea-air] Triggered GET SwingMode
[31/07/2022, 16:39:30] [midea-air] Triggered GET Temperature Display Units
[31/07/2022, 16:39:34] [midea-air] Updating accessory: Pool House<PHONE_NUMBER>99519)
[31/07/2022, 16:39:34] [midea-air] [updateValues] Header + Command: 90,90,1,16,89,0,32,0,80,0,0,0,169,65,48,9,14,5,20,20,213,50,1,0,0,17,0,0,0,4,2,0,0,1,0,0,0,0,0,0,170,32,172,0,0,0,0,0,0,3,65,129,0,255,3,255,0,2,0,0,0,0,0,0,0,0,0,0,0,0,3,205,156,16,184,113,186,162,129,39,12,160,157,100,102,118,15,154,166
[31/07/2022, 16:39:35] [midea-air] Send command to: Pool House<PHONE_NUMBER>99519) [updateValues] attempt 1/2 success!
[31/07/2022, 16:39:35] [midea-air] useFahrenheit is set to: false
[31/07/2022, 16:39:35] [midea-air] Target Temperature: 26˚C
[31/07/2022, 16:39:35] [midea-air] Indoor Temperature is: 27˚C
[31/07/2022, 16:39:35] [midea-air] Outdoor Temperature is: 42˚C
[31/07/2022, 16:39:35] [midea-air] Power State is set to: 1
[31/07/2022, 16:39:35] [midea-air] Operational Mode is set to: 1
[31/07/2022, 16:39:35] [midea-air] Fan Speed is set to: 101
[31/07/2022, 16:39:35] [midea-air] Swing Mode is set to: 0
[31/07/2022, 16:39:35] [midea-air] Eco Mode is set to: false
[31/07/2022, 16:39:35] [midea-air] Turbo Mode is set to: false
[31/07/2022, 16:39:35] [midea-air] Full data is: 11000000,1,101010,1100101,1111111,1111111,0,0,0,0,100,1100111,10000110,1110,0,10101,0,0,0,110010,0,0,0,0,0,0,0,0,11,1010101,111010,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
[31/07/2022, 16:39:35] [midea-air] [updateValues] Send update command to: Pool House<PHONE_NUMBER>99519)
[31/07/2022, 16:39:40] [midea-air] Triggered SET ThresholdTemperature To: 25˚C
[31/07/2022, 16:39:40] [midea-air] [sendUpdateToDevice] Header + Command: [90,90,1,16,90,0,32,0,1,0,0,0,189,179,57,14,12,5,20,20,29,129,0,0,0,16,0,0,0,4,2,0,0,1,0,0,0,0,0,0,170,30,172,0,0,0,0,0,3,2,64,1,41,101,127,127,0,48,0,0,0,0,0,0,0,0,0,0,0,135,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[31/07/2022, 16:39:40] [midea-air] Triggered SET ThresholdTemperature To: 26˚C
[31/07/2022, 16:39:40] [midea-air] [sendUpdateToDevice] Header + Command: [90,90,1,16,90,0,32,0,1,0,0,0,189,179,57,14,12,5,20,20,29,129,0,0,0,16,0,0,0,4,2,0,0,1,0,0,0,0,0,0,170,30,172,0,0,0,0,0,3,2,64,1,42,101,127,127,0,48,0,0,0,0,0,0,0,0,0,0,0,135,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[31/07/2022, 16:39:40] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:40] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:40] [midea-air] Triggered GET Active
[31/07/2022, 16:39:40] [midea-air] Triggered GET Current HeaterCooler State
[31/07/2022, 16:39:40] [midea-air] Triggered GET Target HeaterCooler State
[31/07/2022, 16:39:40] [midea-air] Triggered GET CurrentTemperature
[31/07/2022, 16:39:40] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:40] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:40] [midea-air] Triggered GET RotationSpeed
[31/07/2022, 16:39:40] [midea-air] Triggered GET SwingMode
[31/07/2022, 16:39:40] [midea-air] Triggered GET Temperature Display Units
[31/07/2022, 16:39:42] [midea-air] Triggered GET Active
[31/07/2022, 16:39:42] [midea-air] Triggered GET Current HeaterCooler State
[31/07/2022, 16:39:42] [midea-air] Triggered GET Target HeaterCooler State
[31/07/2022, 16:39:42] [midea-air] Triggered GET CurrentTemperature
[31/07/2022, 16:39:42] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:42] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:42] [midea-air] Triggered GET RotationSpeed
[31/07/2022, 16:39:42] [midea-air] Triggered GET SwingMode
[31/07/2022, 16:39:42] [midea-air] Triggered GET Temperature Display Units
[31/07/2022, 16:39:42] [midea-air] Triggered GET Active
[31/07/2022, 16:39:42] [midea-air] Triggered GET Current HeaterCooler State
[31/07/2022, 16:39:42] [midea-air] Triggered GET Target HeaterCooler State
[31/07/2022, 16:39:42] [midea-air] Triggered GET CurrentTemperature
[31/07/2022, 16:39:42] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:42] [midea-air] Triggered GET ThresholdTemperature
[31/07/2022, 16:39:42] [midea-air] Triggered GET RotationSpeed
[31/07/2022, 16:39:42] [midea-air] Triggered GET SwingMode
[31/07/2022, 16:39:42] [midea-air] Triggered GET Temperature Display Units
[31/07/2022, 16:39:50] [midea-air] Send command to: Pool House<PHONE_NUMBER>99519) [sendUpdateToDevice] attempt 1/2 returned error: The asyn reply does not exist  (3176)
[31/07/2022, 16:39:50] [midea-air] Send command to: Pool House<PHONE_NUMBER>99519) [sendUpdateToDevice] attempt 1/2 returned error: The asyn reply does not exist  (3176)
[31/07/2022, 16:40:04] [midea-air] Updating accessory: Pool House<PHONE_NUMBER>99519)
[31/07/2022, 16:40:04] [midea-air] [updateValues] Header + Command: 90,90,1,16,89,0,32,0,80,0,0,0,169,65,48,9,14,5,20,20,213,50,1,0,0,17,0,0,0,4,2,0,0,1,0,0,0,0,0,0,170,32,172,0,0,0,0,0,0,3,65,129,0,255,3,255,0,2,0,0,0,0,0,0,0,0,0,0,0,0,3,205,156,16,184,113,186,162,129,39,12,160,157,100,102,118,15,154,166
[31/07/2022, 16:40:05] [midea-air] Send command to: Pool House<PHONE_NUMBER>99519) [updateValues] attempt 1/2 success!
[31/07/2022, 16:40:05] [midea-air] useFahrenheit is set to: false
[31/07/2022, 16:40:05] [midea-air] Target Temperature: 26˚C
[31/07/2022, 16:40:05] [midea-air] Indoor Temperature is: 26.4˚C
[31/07/2022, 16:40:05] [midea-air] Outdoor Temperature is: 41.5˚C
[31/07/2022, 16:40:05] [midea-air] Power State is set to: 1
[31/07/2022, 16:40:05] [midea-air] Operational Mode is set to: 1
[31/07/2022, 16:40:05] [midea-air] Fan Speed is set to: 101
[31/07/2022, 16:40:05] [midea-air] Swing Mode is set to: 0
[31/07/2022, 16:40:05] [midea-air] Eco Mode is set to: false
[31/07/2022, 16:40:05] [midea-air] Turbo Mode is set to: false
[31/07/2022, 16:40:05] [midea-air] Full data is: 11000000,1,101010,1100101,1111111,1111111,0,0,0,0,100,1100110,10000101,1110,0,10000100,0,0,0,110010,0,0,0,0,0,0,0,0,11,1000111,11011011,0,0,0,0,0,0,0,0,0,0,0,0,0
[31/07/2022, 16:40:05] [midea-air] [updateValues] Send update command to: Pool House<PHONE_NUMBER>99519)

Which is the original issue that is duplicated?

https://github.com/hillaliy/homebridge-midea-air/issues/3

The same issue with EU-SK103X the plugin can read the value but cannot make changes, any way we can help out?

There is an open issue to add support for that model.
So I'm closing this issue.


Non-latin keyboard support

Hello! Cyrillic (Ukrainian/Russian) letter "б" (uppercase "Б") located under the same key where is "," on latin keyboard. It's the same key, with the same keycode 188, but in different keyboard layout.
So it's impossible to enter words like "булка", "бочка" "бабочка", "арбалет", anything with "б" key, because this control recognize cyrillic "б" (and uppercase Б) as comma.
To fix this problem, replace line #119 in jquery.amsify.suggestags.js:
                if(keycode == '13' || keycode == '188') {
to
                if (13 === e.keyCode || "," === e.key) {
Also, just couple of another suggestion to little bit improve your code...

Both e.keyCode and e.which is deprecated, but supported in ALL browsers which can support Bootstrap and jQuery. So don't need to check both values, 1 of them, e.keyCode is enough.
keyCode have numerical value, so you can make code in couple nanoseconds faster if you will compare it as numerical value with === operator, instead of comparing it as string with ==, with internal conversion of data type.
Replace empji ✖ (which not supported on non-UTF code pages) with ×.

I'm going to make fork, you may grab my updates for your canonical code.

I realized that I had ancient version, 1.1, and code was greatly improved since then.
However, my suggestions and proposed bugfix still relevant.

I have added some fixes, so input field can be any size. It wraps to next line only if text inside exceed possible space.
Here is the demo: https://utilmind.com/demos/2020/tagsinput/
I have updated both CSS and JS. I don't mind if you make my forked code canonical.

Added addTagOnBlur option to settings in my fork.
https://github.com/utilmind/jquery.amsify.suggestags

Well, it' actually not an issue anymore, I think I have fixed everything I need.


AMD 'define' should be a code split point

I'm submitting a feature request
Webpack version:
1.13.1
Please tell us about your environment:
OSX 10.11
Currently AMD modules using define are compiled as if their dependencies were synchronously required - i.e. webpack doesn't treat define as a code split point, even though its behavior is effectively identical (minus the optional first argument) to AMD's async require. This makes it difficult to do any chunking optimization, or take advantage of dynamic dependencies, in a large AMD codebase.
Example here: https://gist.github.com/kmontag/6a70bfc9593b8bd54c9285dfda2d4604
Desired behavior: AMD's define should be recognized as a code split point, either automatically or via some config option.
Thanks!

would that apply to this style?
define(function(require){
  var myModule = require('myModule');
  var myModule2 = require('myModule2');
});

where
var myModule = require('myModule');
  var myModule2 = require('myModule2');

would create code split points?

I think those should still be treated as synchronous dependencies,
actually, though it's a bit up to interpretation.
At least in the RequireJS case, those require calls would be expected to
error out unless the dependencies had been explicitly loaded sometime
before the factory gets invoked, which suggests to me that they should be
inlined.
On Fri, Jul 22, 2016, 21:25 Rafael De Leon<EMAIL_ADDRESS>wrote:

would that apply to this style?
define(function(require){
var myModule = require('myModule');
var myModule2 = require('myModule2');
});
where
var myModule = require('myModule');
var myModule2 = require('myModule2');
would create code split points?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/webpack/webpack/issues/2796#issuecomment-234698442,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAXuHTKs4Qr3a_g_PoHs2B1s1HOByIsDks5qYZevgaJpZM4JTH0c
.

Or a tleast have the option to enable it for code splitting.
Right now, I am looking making a plugin that will transform
define(function(require){
  var myModule = require('myModule');
  var myModule2 = require('myModule2');
});

to
require.ensure(['myModule', 'myModule2'], function(require){
  var myModule = require('myModule');
  var myModule2 = require('myModule2');
});

for development since the code base I am working has too many modules to start switching out to require.ensure, and in a naive attempt to make webpack --watch --source-map inline-source-map build faster.

FWIW here's the hack I've been using to force a split point, which you may be able to modify for your use case: https://gist.github.com/kmontag/22fa1b15ea8e73e6a7ffaf7815739bf2
Though as I mentioned, IMHO the transformation you're talking about doesn't quite preserve the behavior that I'd expect from an AMD module.

Though as I mentioned, IMHO the transformation you're talking about doesn't quite preserve the behavior that I'd expect from an AMD module.

As I mentioned, I am assuming code splitting will make my module rebuilds faster when using --watch
Interesting that you decided to use a different AST lib instead of using the AST that webpack provided from this._compiler.parse

Ah nice. I am just getting familiar with the WP internals, thanks for the
pointer :)
On Sun, Jul 24, 2016, 22:05 Rafael De Leon<EMAIL_ADDRESS>wrote:

Though as I mentioned, IMHO the transformation you're talking about
doesn't quite preserve the behavior that I'd expect from an AMD module.
As I mentioned, I am assuming code splitting will make my module rebuilds
faster when using --watch
Interesting that you decided to use a different AST lib instead of using
the AST that webpack provided from this._compiler
http://webpack.github.io/docs/loaders.html#_compiler.parse
http://webpack.github.io/docs/plugins.html#the-parser-instance
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/webpack/webpack/issues/2796#issuecomment-234841421,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAXuHeOcN2zXoly2M5dd93USa7ye35waks5qZEP-gaJpZM4JTH0c
.

define has sync semantics. It's not possible to make it a split point as it would break the application. Keep the case it mind when define exports something.
// a.js
define(["./b"], function(b) {
  console.log(b);
});

// b.js
define(function() {
  return "Hello World";
});

Ah, I see what you mean - though it still seems that the factory itself is allowed/expected to be executed asynchronously, so a and b are able to live in separate files.  E.g. using your example above, a RequireJS app would do the following:
// app.js
require(["./a"], function() { });

// loads a.js via script tag
// loads b.js via script tag
// executes the b.js factory (return "Hello World")
// executes the a.js factory (console.log(b))

@sokra is there any way to achieve this separation with webpack? We have an application with a large number of defined modules that are depended on dynamically, and have previously (with RequireJS) been able to split them up into a handful of files that are loaded on demand.

Alternately, is there any way to provide a module with an asynchronous export value, via a loader or some other method? That way define(['a'], function(a) { return {dep: a}; } could be rewritten to something like:
callback = module.async();
define('require', function(require) {
  factory = function(a) {
    return {dep: a};
  };
  require.ensure(['a'], function(a) {
    callback(factory(a));
  });
});


Create tableNameSegment

Fixes #4537.

Pull Request Test Coverage Report for Build 9909

91 of 122 (74.59%)  changed or added relevant lines in 34 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.002%) to 58.193%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

encrypt-core/encrypt-core-merge/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/impl/EncryptColumnsMergedResult.java
0
1
0.0%

encrypt-core/encrypt-core-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/impl/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
23
24
95.83%

encrypt-core/encrypt-core-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/EncryptInsertValuesTokenGenerator.java
1
2
50.0%

sharding-proxy/sharding-proxy-backend/src/main/java/org/apache/shardingsphere/shardingproxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java
0
1
0.0%

shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/generic/TableSegment.java
4
5
80.0%

shardingsphere-sql-parser/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/visitor/MySQLVisitor.java
0
1
0.0%

shardingsphere-sql-parser/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/MySQLDMLVisitor.java
0
1
0.0%

shardingsphere-sql-parser/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/visitor/OracleVisitor.java
0
1
0.0%

shardingsphere-sql-parser/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/OracleDMLVisitor.java
0
1
0.0%

shardingsphere-sql-parser/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/visitor/PostgreSQLVisitor.java
0
1
0.0%

Files with Coverage Reduction
New Missed Lines
%

sharding-orchestration/sharding-orchestration-core/src/main/java/org/apache/shardingsphere/orchestration/internal/util/IpUtils.java
3
76.0%

Totals

Change from base Build 959:
-0.002%

Covered Lines:
10548

Relevant Lines:
18126

💛  - Coveralls


Create a 'small app' DX test scenario

As a developer I want to have a tutorial that guides me through the steps of creating a small app with Vaadin.Router so that I can get going after reading one page (if it matches my use case).
As Vaadin Ltd I want to test the DX of using Vaadin.Router in the scenario above.
DoD:

there is a Wiki page in the vaadin-router GitHub repo that describes the 'small app' scenario in detail with code samples
there is a DX test package to go through the steps of the 'small app' scenario. The following features should be included:
-- simple routes (#13)
-- add a fallback (#18)
-- add parameters (#17)
-- add an unconditional redirect (#19)
-- add an ambugious match (#31)
-- lazy loaded routes (#20)
-- implicit route components (#21)

DX test document here (for Vaadiners only).


Subject: To add notification feature as  pop-up notification or welcome banner which states about the ongoing sale .

We can add a feature that notifies customers about current sales and whether items are in stock. These notifications should be like a catchy line or slogan which can engage the  users and encourage purchases.

Hi @AnanyaSinha16! Thanks for opening this issue on Ratna Supermarket. We appreciate your contribution to this open-source project. We aim to respond or assign your issue as soon as possible.

I’m passionate about UI/UX & frontend technologies .I am also have a solid understanding of user-centered principles. I would love the chance to discuss how I can contribute to your project."

Hii @MinavKaria  can you please check this issue and assign it to me?
Thank you!


[Event Request] Codeunit 5760 - Function CreatePutAwayDoc

Publisher is needed in function CreatePutAwayDoc C5760, for modifying WhseActivHeader:

    [IntegrationEvent(false, false)]
    local procedure OnAfterLoopThroughtPutAwayDoc(var WarehouseActivityHeader: Record "Warehouse Activity Header")
    begin
    end;

We already have this event


Brian Munene: Component-based Design, 3 weeks

my fork of module repository

Learning Objectives

Priorities: 🥚, 🐣, 🐥, 🐔 (click to learn more)

There is a lot to learn in this repository. If you can't master all the material
at once, that's expected! Anything you don't master now will always be waiting
for you to review when you need it. These 4 emoji's will help you prioritize
your study time and to measure your progress:

🥚: Understanding this material is required, it covers the base skills you'll
need for this module and the next. You do not need to finish all of them but
should feel comfortable that you could with enough time.
🐣: You have started all of these exercises and feel you could complete them
all if you just had more time. It may not be easy for you but with effort you
can make it through.
🐥: You have studied the examples and started some exercises if you had time.
You should have a big-picture understanding of these concepts/skills, but may
not be confident completing the exercises.
🐔: These concepts or skills are not necessary but are related to this module.
If you are finished with 🥚, 🐣 and 🐥 you can use the 🐔 exercises to push
yourself without getting distracted from the module's main objectives.

1. Rendering Static Pages

recreate an HTML/CSS web page using pure functions components and encapsulated styles

🥚  JSX : you can ...

[ ]  Write elements with JSX syntax

2. Rendering Data

functional React components
render a static page with provided data
component props
splitting components with design in mind

🥚functional React components: you can ...

[ ] Create a React function component (both function definition and arrow function styles)

[ ] Import/export components between files

🥚 Render data: you can

[ ] Use interpolation ({}) to insert JavaScript expressions into JSX
[ ] Render a list using the .map method

🥚 Components and props : you can ...

[ ] create small, reusable components
[ ] how to pass props into React components

🥚 Create reusable components: you can ...

[ ] Nest components within other components

one folder with a main component
sub-components for your convenience (not part of public contract)

3. Stateful Components

VDOM
what is a hook
useState
useEffect (any side-effect)
component lifecycle

🥚VDOM : you ....

[ ]  can differenciate the real dom from the virtual dom
[ ]  know what reconciliation process is ..

🥚 Hook

[ ] simple, just enough for the flavor
[ ] the react docs "rules of hooks"

🥚 use-state
🥚 use-effect
🥚 component lifecycle
4. Events

create components that manage internal state and emit custom events
handling events
build reusable components that take functions as arguments
child components communicating with parent components
passing functions as props

5. Component Structure

splitting components with logic in mind

why create dumb components when hooks can be anywhere?

re-render cycles (all children)

why putting state at lower levels is efficient
why not to use everything in global state

6. Consuming APIs

fetch and use API data in components
async useEffect callbacks

7. Frontend Routing

react router

8. Global State

being careful about what you put in useContext

only move data to context when it's necessary

store and manage global app state shared between components
useContext

shared state, not the same as useState

other state management systems/strategies exist

TOP

Week 1 & 2
General Overview
After the first week's introduction of React, I followed the advice of coaches and decided to check up some background materials and tutorials as follows:

JavaScript ES6 (this keyword, restructuring, spread operator, etc..)
@CodeEvolution React beginners series (with class-based components)
@CodeEvolution React Hooks series (with functional components)

Although I have not yet completely finished the series, They have given me a solid understanding of React which I can carry forward to the nest sessions.

Week 3
I have followed up on last week's look into React with the courses mentioned earlier i.e.,

@CodeEvolution React beginners series (with class-based components)
@CodeEvolution React Hooks series (with functional components)

I have completed my react project that I was working on over the last couple of weeks.
I plan to finish the react series above whilst building some more projects during the two-week individual project period


Add API and UI handling for Direct LUN Disks

Fixes: #829
A direct LUN disk does not have provision_size and actual_size
fields on the ApiDiskType returned from the REST calls. Direct LUN
disks store size details in a lun_storage object tree. This change
adds that tree to the API->Internal transform and adopts separate
handling for storage_type == 'lun' and other ('image' and 'cinder')
typed disks.

ovirtapi transform is now type == 'lun' aware and pulls in all the
necessary data fields

(legacy) VM Detail / VmDisk rendering will now show the static
size of the Direct LUN disk

VM Dashboard's simple DisksCard uses either the disk lunSize
or provisionedSize to report the each disk's size

VM Dashboard's UtilizationCard, DiskCharts uses the lunSize
for both actual and provisioned size for Direct LUN disks when
summarizing the disk allocations for the donut chart

I think would be nice to mark somehow LUN disks.

ci build please

RPMs:

ovirt-web-ui-1.5.0-0.20181017gitad45bf8.el7.noarch.rpm
ovirt-web-ui-1.5.0-0.20181017gitad45bf8.fc28.noarch.rpm

ci build please

RPMs

ovirt-web-ui-1.5.0-0.20181018git2d4a6bc.el7.noarch.rpm
ovirt-web-ui-1.5.0-0.20181018git2d4a6bc.fc28.noarch.rpm


fix/148 Extend MissionOverviewValues screen contents

Added the complete text to Mission, Overview and Values sections in the corresponding screen.

Updated styles so the third container appears under the other ones in this screen.


kvClient (ticdc): revert e5999e3 to remove useless metrics

What problem does this PR solve?

Issue Number: close #11073
What is changed and how it works?
Check List
Tests

No code

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
kvClient (ticdc): revert e5999e3 to remove useless metrics

/retest

/retest


Deleting Old Data?

Hello,
Thank you for putting this together. I was ruminating on how to automate speed testing and connectivity checks, and this fits my needs perfectly. I've never used Ansible before and only know that it's an automation tool, but I was still able to get everything up and running.
Question: How do I delete old data? I goofed a bit setting it up and gave it a non-pingable internal address for connection checking. (Well, my router is pingable manually, but apparently not via the ping container...).
I've already adjusted config.yml and re-run the playbook, and those changes seem to have stuck, but I'd like to clear out the data from the runs where an unreachable host was in there.
I realize I could just let the tests run until the old data scrolls off screen--this has happened already--but I feel like I'm missing something obvious.
(I really need to watch your Ansible series now. :) )
Thanks again.

Since the data is stored in Prometheus, you would need to delete it from there.
There are two options:

You can clear out all data (easier) by either deleting the container / volume with docker-compose down -v) or just by deleting the contents of Prometheus' data directory within the container.
You can clear out one time series or job by enabling a special API in Prometheus and running a certain command as outlined in this post.

Prometheus isn't really set up well for managing deletions and such—it's more meant to let old data linger until Prometheus' lifetime rules prune it.

docker-compose down -v worked for me but it broke Grafana so I I had to re-run ansible-playbook main.yml and then it was all good

Thanks!


Add custom hostnameverifier for YBM SSL Connectivity

Please provide a description about the change. @Sfurti-yb


No such image error while running jacs-cm-8.6

Experiencing "No such image error" while running jacs-cm-8.6 for the below services:
jacs_solr:
p50yzz7cdknjsd9qjcvfdma9k   jacs_solr.1         janeliascicomp/solr-search:1.0.2@sha256:b74842b5d7c224f4ecb20e6c28bdca625749c246c656c4200f81fbca610a2a4a   biowkst   Shutdown            Rejected 36 minutes ago   "No such image: janeliascicomp/solr-search:1.0.2@sha256:b74842b5d7c224f4ecb20e6c28bdca625749c246c656c4200f81fbca610a2a4a"
jacs_jade-agent3
dlc0kcktcv173tg4ilfe4jrxb   jacs_jade-agent3.1       janeliascicomp/jacs-storage:1.14.3@sha256:68392d2bfba4a0d93dc0cfa8240a5927998f90fddfe2ef98f8246b3b4ec14074   bioimg   Shutdown            Rejected 35 minutes ago   "No such image: janeliascicomp/jacs-storage:1.14.3@sha256:68392d2bfba4a0d93dc0cfa8240a5927998f90fddfe2ef98f8246b3b4ec14074"
jacs_jacs-messaging
pytvpwt67axis992vqr09db8x   jacs_jacs-messaging.1       janeliascicomp/jacs-messaging:2.4.11@sha256:4324c8e9485374aba438088e0bf9d4875486dcb09931a51123f1292299da073e   biowkst   Shutdown            Rejected 34 minutes ago   "No such image: janeliascicomp/jacs-messaging:2.4.11@sha256:4324c8e9485374aba438088e0bf9d4875486dcb09931a51123f1292299da073e"

closing this one since the issue was created in the incorrect repository. Have added this issue under jacs-cm repository


Add Chirpstack packages

Description of changes
This PR adds the following packages from the Chirpstack project:

chirpstack-concentratord
chirpstack-udp-forwarder
chirpstack-mqtt-forwarder
chirpstack-gateway-bridge
chirpstack-rest-api
chirpstack-fuota-server

ChirpStack is an open-source LoRaWAN Network Server which can be used to setup LoRaWAN networks. ChirpStack provides a web-interface for the management of gateways, devices and tenants as well to setup data integrations with the major cloud providers, databases and services commonly used for handling device data. ChirpStack provides a gRPC based API that can be used to integrate or extend ChirpStack.

These are most of the packages of the Chirpstack project with exception of the main LoraWAN server itself. It is sufficient to run a Nix-powered LoraWAN gateway on an embedded device like a Raspberry Pi.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3787

I've updated the branch:

Rebase to master
Reformatted with RFC166-style nixfmt
Added passthru.updateScript
Use Git tags for fetchFromGitHub's rev attribute

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4491

@SuperSandro2000 @AndersonTorres Do you maybe have some bandwidth to merge this PR? I have addressed your previous comments already. And pipelines are passing now :)

You might want to consider removing the with lib; statements from meta attributes.

Done in the latest version of the PR.

Does this currently build correctly on aarch64-linux? I just tried to cross-compile using pkgsCross.aarch64-multiplatform on an x86_64-linux machine but one of the libloragw libraries failed to build.

@PJungkamp no cross builds have not been tested. I will have a closer look at it.

I've split this into several smaller PRs, as those hopefully get merged more easily:

https://github.com/NixOS/nixpkgs/pull/353921
https://github.com/NixOS/nixpkgs/pull/353920
https://github.com/NixOS/nixpkgs/pull/353919
https://github.com/NixOS/nixpkgs/pull/353918
https://github.com/NixOS/nixpkgs/pull/353917
https://github.com/NixOS/nixpkgs/pull/353916


Pass field name to guard block

I have my abilities defined in CanCanCan on a field level basis and I'd like to authorize the fields and objects inside a general guard block. I have a BaseObject from which every GraphQL object inherits:
class BaseObject < GraphQL::Schema::Object
  guard ->(obj, _args, context) do
    context.fetch(:current_ability).can?(:read, obj.object)
  end
end

But I'm missing the field name here, I'd like to do something like this:
class BaseObject < GraphQL::Schema::Object
  guard ->(obj, _args, ctx, field) do
    ctx.fetch(:current_ability).can?(:read, obj.object, field)
  end
end

Am I missing something? Defining the guard block at every field would lead to a lot of duplication and very noisy code:
  field :name, String do
    guard ->(obj, args, ctx) {  ctx.fetch(:current_ability).can?(:read, obj.object, :name) }
  end

(of course one could define some helpers to reduce the noise, but it would still be "define the guard at every field" by hand).
I also had a look at your Policy Objects (see https://github.com/exAspArk/graphql-guard#policy-object) but I didn't have any luck with them (it seems to me that the .guard method of the policy object is only called once and not on every call, but I'm not sure).
So, is there a way to get the field inside the guard block to lazy evaluate if the field is authorized or not?

Ahhhhh silly me... nevermind, I found it in the source code:
  guard ->(obj, _args, context) do
    context.fetch(:current_ability).can?(:read, obj.object, context.field.name)
  end

Thanks, this was useful. I've found on latest versions of graphql-ruby I needed to use ctx[:current_field].original_name. Here's what I did with Pundit
    guard ->(obj, args, ctx) {
      field = ctx[:current_field].original_name
      policy = MyPolicy.new(ctx[:current_user], obj.object)
      policy.show? and (field.blank? or (field.present? and policy.permitted_attributes_for_show.include?(field)))
    }


[Question] Default value isnt applied to null

Why is it expected that a default value should not be applied if the given value is null but is applied when given value is undefined?
https://github.com/gcanti/tcomb/blob/8a99cc33497a35e0d0a540bd58bd9cd869217dc8/test/struct.js#L180
Is null considered a valid t.String and therefore the default name isn't applied?
Looking a little more into validation, this example seems to show that validation is skipped on null
const t = require('tcomb-validation');
const validate = t.validate;

function isNotNull(i) {
  console.log(i);
  console.log(i !== null);
  return i !== null;
};

const NonNullString = t.refinement(t.String, isNotNull, 'NonNullString');

var Car = t.struct({
  name: t.maybe(NonNullString)
},
{
  defaultProps: {
    name: 'Subaru'
  }
 });

console.log('Car with null name: ');
console.log(Car({name: null}));
console.log('Car with undefined name: ');
console.log(Car({name: undefined}));

Output:
Car with null name:
Struct { name: null }
Car with undefined name:
Subaru
true
Struct { name: 'Subaru' }

It looks like when t.maybe(Object) check null, it returns null according to https://github.com/gcanti/tcomb/blob/8a99cc33497a35e0d0a540bd58bd9cd869217dc8/test/maybe.js#L58
Also for undefined.

Hi @gcanti , don't mean to bother but could you provide guidance when you have the time?  Thank you!

@lamroger sorry for the late answer

Why is it expected that a default value should not be applied if the given value is null but is applied when given value is undefined?

That's how default arguments are handled in JavaScript
function f(a = 'foo') {
  return a
}

console.log(f()) // foo
console.log(f(null)) // null

Hey @gcanti, thanks for the explanation!
Another question, if the default argument isn't applied to null, then shouldn't null be tested against the type in t.maybe?

then shouldn't null be tested against the type in t.maybe?

Not sure I'm following, could you please elaborate?

btw the test you pointed is loose, should be (I'll fix that)
it('should hydrate the elements of the maybe', function () {
  var T = t.maybe(Point);
-  assert.deepEqual(T(null), null);
-  assert.deepEqual(T(undefined), null);
+  assert.strictEqual(T(null), null);
+  assert.strictEqual(T(undefined), undefined);
  assert.ok(Point.is(T({x: 0, y: 0})));
});


check bqm feature first pass

Feels a little clunky, reviews appreciated :)
Closes #830

Codecov Report

Merging #832 (586bb2b) into main (535604c) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #832   +/-   ##
=======================================
  Coverage   92.13%   92.13%
=======================================
  Files          63       63
  Lines        4652     4654    +2
=======================================
+ Hits         4286     4288    +2
  Misses        366      366

Impacted Files
Coverage Δ

dimod/core/structured.py
91.17% <100.00%> (+0.55%)
:arrow_up:

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 535604c...586bb2b. Read the comment docs.


Basic Type System

Changes

Implements translations and raw properties of the Yellowstone type system system.
Composite properties (properties depending on other properties) are not yet implemented.

Comments

This will mostly be used for Multihistory, however, the Multihistory itself is not yet implemented.
There are currently no types, so TypeConvert, while implemented, cannot be used for anything.

Examples

Examples below do not work directly because they use fake types. In order to try them out, do something like
AppendTo[$ContextPath, "SetReplace`PackageScope`"];

and then evaluate the definitions (line 15 to 68) from typeSystem.wlt.

If you do that and then evaluate
AppendTo[$ContextPath, "SetReplace`A1$typeSystem`PackagePrivate`"];
Graph[$typeGraph,
      VertexLabels -> {type[name_] :> name, property[name_] :> ToString[name] <> "[...]"},
      VertexStyle -> {type[_] -> Black, property[_] -> White},
      EdgeStyle -> {type[_] -> type[_] -> Black,
                    type[_] -> property[_] -> Lighter[Blue, 0.3],
                    property[_] -> property[_] -> Gray}]

you will get a type graph from the test file:

You will also be able to do things like these. Here, "EvenInteger" type is converted to "HalfInteger":
In[] := TypeConvert["HalfInteger"] @ evenInteger[4]
Out[] = halfInteger[2]

Here, multipliedHalf property is used on a "HalfInteger" directly:
In[] := multipliedHalf[5] @ halfInteger[3]
Out[] = 15

Here, "HalfInteger" is automatically converted to an "EvenInteger", and then description property is called.
In[] := description @ halfInteger[3]
Out[] = "I am an integer 6."

And here, "EvenInteger" is converted to "HalfInteger" first:
In[] := multipliedHalf[evenInteger[4], 4]
Out[] = 8

This change is

I think there is a problem though. If the type system is generic, what do we do with TypeConvert? Surely, it is almost guaranteed to cause namespace collisions. And using packages without adding them to $ContextPath is horribly broken in WL at the moment.

I renamed TypeConvert -> SetReplaceTypeConvert. This has no possibility of collisions, and I think is more user-friendly than SetReplace`PackageScope`TypeConvert.


Fixes json parsing of an empty response body

ran into this issue while i was fetching a express res.status(200).end(); aka. ok, but nothing here response.

Coverage remained the same at 100.0% when pulling d740dc99ed6902d0dccbbbda77d6d72025140f59 on joernroeder:patch-1 into e1fcc2315acd9bcb211ca6c0b1e7218093289763 on bitinn:master.

The Fetch spec disagrees with this. There are no special provisions for empty responses. Plus, returning an empty string as JSON certainly makes no sense.
A better choice is to send {} on the server.

Yep empty response is invalid json, if it's a third-party api and developer is unwilling to fix it, you have to do a text() first.

@TimothyGu @bitinn you're right. thx


Roll engine 0602dbb27547..8a6bad6efc5a (7 commits)

https://github.com/flutter/engine/compare/0602dbb27547...8a6bad6efc5a
git log 0602dbb27547cd03d8f8e816b7995cace854f7e6..8a6bad6efc5a922214077f47458ade1fed9d3f5e --no-merges --oneline
8a6bad6ef Roll src/third_party/dart 40ef0c6d9f..9f2f5adb64 (4 commits)
91ee78068 Roll src/third_party/skia 6faf8d662af8..fe18de506097 (1 commits) (flutter/engine#9228)
828191990 Roll src/third_party/dart 6e0d978505..40ef0c6d9f (7 commits)
9dafb40a2 Roll src/third_party/skia 0e8362655a66..6faf8d662af8 (1 commits) (flutter/engine#9225)
e3b8b6120 Roll src/third_party/skia 3431d9d1dcc6..0e8362655a66 (2 commits) (flutter/engine#9223)
e80df363d Keyboard support for embedded Android views. (flutter/engine#9203)
2ec6dada6 Roll src/third_party/skia 6e4fee8c812e..3431d9d1dcc6 (17 commits) (flutter/engine#9221)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop
the roller if necessary.

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/6492281444499456

Commit queue failed; closing this roll.


Write prototype initialiser

Designers don't want to bother with an entire project so we should allow them to generate a single application with a single command.
Requires #24.

Included in v0.1.18.


Your work is great but I have some issues with pretraining

Since my application involves non-natural images, I aim to pre-train the model on a domain-specific dataset. However, I haven't found any relevant tutorials for this task. I would greatly appreciate it if the author could provide guidance or tutorials to help me accomplish this.

Thanks for your interest in our work! If you want to fine-tune the diffusion model on your own data you can refer to https://huggingface.co/blog/lora


Add end screen

Please review this

I have made all the recommended changes please review for restart screen.

Looks good! Will merge it


Mapping had Counter ID, is this obsolete?

Clean this up?

addressing the current counter setup in issue #390. this issue (391) can be closed.


Razer Wrapper not working

What are you experiencing an issue with?

[x] Aurora Wrapper

What kind of an issue is it?

[x] Visual bug
[x] Device issue

Expected behavior:
A game with Razer Support (Like Overwatch) should ligthen the keyboard.
Actual behavior:
The keyboard is just black
How often does this problem occur?

This problem occurs every time.
What is the version of Aurora you are experiencing this issue with?

My version is beta v0.1.6-dev3
Does the previous version of Aurora have this issue?
On of the previous version, did not have this issue.
Please read through it. It isn't the same issue you related me to the prevoius time. I dont have any ligthning, even in the match. I hope you read until this text :D
Interesting fact: Im forced to run Aurora as an Admin, but I dont run Overwatch as one.

Can you post your latest log file after attempting to get lighting?

Jeah, give me about 5 Minutes
Am 29.11.17, 21:44, Simon W<EMAIL_ADDRESS>schrieb:
Can you post your latest log file after attempting to get lighting?
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/antonpup/Aurora","title":"antonpup/Aurora","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/antonpup/Aurora"}},"updates":{"snippets":[{"icon":"PERSON","message":"@simon-wh in #890: Can you post your latest log file after attempting to get lighting?"}],"action":{"name":"View Issue","url":"https://github.com/antonpup/Aurora/issues/890#issuecomment-347990353"}}}

So, thats my definition of 5 minutes. Im sorry.
https://pastebin.com/FDXEcHgu

Im having the same issue with Diablo 3 and i have tried multple versions of Aurora

Have you reapplied the wrapper on the current version of Aurora you are using?

How can I do this? Just pressing Patch Overwatch? Yes, rigth now.

Yes

Didnt help...

Could this also be why Quake Champions doesn't work? it's a Razer Chroma enabled game,  I attached a log as asked and asked if any more info was needed but never got a further response : https://github.com/antonpup/Aurora/issues/825

Hm. Have you tried Overwatch yet?

I don't own any other Chroma enabled games, sorry.

Hurray. It works again. Seems to was an Overwatch issue, they fixed it.


Smaller bundles using lodash directly

Just realizing that we could actually ditch basics/helpers and just use individual lodash functions where needed.
From the lodash docs:
// or a method (great for smaller builds with browserify/webpack)
var chunk = require('lodash/array/chunk');

We'll do it like that from now on.


Update optimism submodule version to 058f398

Description
A clear and concise description of the features you're adding in this pull request.
Tests
Please describe any tests you've added. If you've added no tests, or left important behavior untested, please explain why not.
Additional context
Add any other context about the problem you're solving.
Metadata

Fixes #[Link to Issue]

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

Project coverage is 70.46%. Comparing base (73046f9) to head (7dd4560).

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #63   +/-   ##
=======================================
  Coverage   70.46%   70.46%
=======================================
  Files          19       19
  Lines        2810     2810
=======================================
  Hits         1980     1980
  Misses        742      742
  Partials       88       88

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


Resource hover box off screen on right-hand side

If your issue relates to the Discovery Process, please first follow the steps described in the implementation guide Debugging the Discovery Component

Describe the bug
Hover box is off edge of screen on right hand side meaning you cannot view the Name and ARN of function. This does not happen when the popup is on the left hand side.
I have tested this to be a problem in both version 1.1.0 and 1.1.1.
To Reproduce
Steps to reproduce the behavior:

Log into AWS Perspective UI
Add any resources to diagram e.g. All Lambda Functions (under Type menu)
Hover over resource and see box out of screen on right hand side

Expected behavior
Popup box is completely visible.
Screenshots

Browser (please complete the following information):
Problem is the same in Chrome 95.0.4638.69 and Firefox 91.3.0 esr
Additional context
Using MacBook Pro 16" (macOS Big Sur 11.6.1)
Problem is the same on external monitor (4K Dell)

Hey, thanks for raising the bug. We will look into It .

This was fixed in v1.1.4.


Use this container withour nginx

I wonder how to use this addon without nginx, but Traefik instead?
I have traefik running on my homelab, which provides several services (and all 80 / 443 call are served by this traefik reverse proxy).
So ... I can't use nginx, and I need to find a workaround.
Any help would be much appreciated :)

Someone asked a similar question an the parent project. It's not clear if it got resolved, but the thread does explain how nginx is used in this setup. It is both a proxy (which I think Traefik could do), but also a publically accessible webserver to serve up the com.tesla.3p.public-key.pem key. It doesn't have to nginx of course, but you need this functionaility in your setup.
https://github.com/llamafilm/tesla-http-proxy-addon/issues/6

How did you get on?

Ok thanks for letting me know


Implement AnimationPlayer pause() and resume()

As originally identified in #34125 and elaborated on in https://github.com/godotengine/godot-proposals/issues/287, in AnimationPlayer:

Currently play() method doesn't adhere to single responsibility principle. If user calls play() while there is no animation playing it acts as start_animation() where as when user calls it when animation is already playing it acts as resume_animation(). This dual behaviour is not desired by users as it requires a condition statement in order to use start_animation functionality of play(). It is also inconstant across the engine as for example AudioStreamPlayer method play() method has only singular functionality of start_playing(). This is confusing to understand and breaks intuitiveness of the engine.

Similarly, AnimationPlayer:stop() has a parameter that defaults to true to either stop and reset the animation or just pause the animation. However, as identified in #27499, although stop(true) resets the playback position it doesn't reset the animation.
This PR:

Implements two new functions in AnimationPlayer: pause() and resume(). pause() will pause a currently playing animation, and resume() will resume a paused() animation.
Ensures that play() always plays the specified (or current animation) from the beginning regardless of whether or not the requested animation is the same as the current animation
Ensures that stop() also resets the animation
Updates the relevant documentation

Closes https://github.com/godotengine/godot-proposals/issues/287
Fixes #27499
Fixes #36279
Supersedes #33733

We discussed this in a PR review meeting and the general consensus is that it's good, but there are a few things to look further into:

AnimationPlayer has an active property, as well as is_playing method, which sound like they might also be related to attempts at pausing playback.  This needs to be looked into some more to clarify.
AnimatedSprite also has a playing property which is now a duplicate for the pause and resume methods (in #44369).

AnimationPlayer has an active property, as well as is_playing method, which sound like they might also be related to attempts at pausing playback. This needs to be looked into some more to clarify.

The active property prevents the AnimationPlayer from iterating, but it does not pause the playing caches.
The is_playing() method returns whether or not an animation has started, but not finished or (with this PR) been paused.

AnimatedSprite also has a playing property which is now a duplicate for the pause and resume methods (in #44369).

This is one of the issues raised in https://github.com/godotengine/godot-proposals/issues/1994: the need for standardising the naming of bool properties and their getters and setters. Specifically, part 5 of the recommendation:

If the bool property has a natural setter and "unsetter", they can be created as helper functions that map to set_(true) and set_(false). For example enabled should have enable() mapped to set_enabled(true) and and disable() mapped to set_enabled(false), paused should have pause mapped to set_paused(true) and resume() mapped to set_paused(false).

Updated to include two new commits:

Removes AnimationPlayer playback_active property and updates the is_playing() documentation.
Renames AnimationPlayer::play() to start(), and also removes the play_backwards() method and the from_end parameter (uses a negative speed to determine this).

Rebased following merge of #44630.

Rebased following merge of #47140.

The removal of play() means that we no longer can continuously play an animation, i.e. you can't
func _process(delta):
    animationplayer.play("walk")

This is useful sometimes even if it's not really "correct" way to do animations (it reduces code complexity for simple objects).

Updated documentation using --doctool ..

This PR is now redundant given #46191 has been merged, so I am going to close it.

#56645 is a salvage of this PR, because #46191 does not implement godotengine/godot-proposals#287, fix #27499 or fix #36279. Furthermore, pausing (and unpausing) the entire SceneTree is not a convenient way of pausing and resuming an AnimationPlayer's playing animation.


Customization Support Request for Branding

I would appreciate if someone could please provide some information (I can pass on to our developer) on how to customize the Career Portal with our brand, i.e. logo, font, color, etc.
From what I understand, the portal can be put in an iframe in order to surround it with branded corporate content the user must edit the CSS files to change colors and appearance
Is there a basic framework or template example with which to work?
Is it just a matter of embedding the code in the download within an iframe on a standard web page?
If it is, great - but we need to know where to put that web page and what to name the file, and then what code to insert in the iframe.
Any information you can provide would be greatly appreciated!
Thank you!

Hi, @jlukus —
One approach to get started customizing Career Portal would be to (1) clone the repo, (2) follow the steps in the README ('Install build tools and dev dependencies') to get your local dev environment setup, and then (3) modify the app's SCSS & HTML to suit your preferences.
The app was designed to have an easy entry points for common configuration. For example, in the src/app/index.scss file lines 6-26 are variables used throughout the app to define colors and the primary font. By changing these values, any reference to those values will get inherited throughout the app. Our hope is that this solves a large portion of common customizations.
Additional customizations can, of course, be added by modifying the SCSS and HTML files that contain elements you'd like to embellish.
Does this provide you with enough information to get your developer started?

Hi Kameron,
Thank you very much for your prompt reply!
I will forwarding the information on to the individual who is responsible for making the updates to the site.  I apologize for my lack of technical background, but I would appreciate if you could please give me a bit more detail for the below items, so that I understand what I am sending to her.
(1) clone the repo, What does this mean?
(2) follow the steps in the README ('Install build tools and dev dependencies') Where is this information located?
Thanks again!
Jackie
[Lightwell]http://www.lightwellinc.com/
Jacqueline Lukus
Recruiter Coordinator
Lightwell
www.lightwellinc.comhttp://www.lightwellinc.com/
<EMAIL_ADDRESS>p +1<PHONE_NUMBER>
[Twitter]http://twitter.com/lightwellinc
[LinkedIn]http://www.linkedin.com/company/lightwell-inc
[Facebook]http://www.facebook.com/Lightwellinc/
[YouTube]http://www.youtube.com/user/lightwellinc
[Blog]http://info.lightwellinc.com/blog
From: Kameron Sween<EMAIL_ADDRESS>Sent: Wednesday, March 30, 2016 4:12 PM
To: bullhorn/career-portal<EMAIL_ADDRESS>Cc: Jackie Lukus<EMAIL_ADDRESS>Subject: Re: [bullhorn/career-portal] Customization Support Request for Branding (#47)
Hi, @jlukushttps://github.com/jlukus —
One approach to get started customizing Career Portal would be to (1) clone the repo, (2) follow the steps in the README ('Install build tools and dev dependencies') to get your local dev environment setup, and then (3) modify the app's SCSS & HTML to suit your preferences.
The app was designed to have an easy entry points for common configuration. For example, in the src/app/index.scss file lines 6-26 are variables used throughout the app to define colors and the primary font. By changing these values, any reference to those values will get inherited throughout the app. Our hope is that this solves a large portion of common customizations.
Additional customizations can, of course, be added by modifying the SCSS and HTML files that contain elements you'd like to embellish.
Does this provide you with enough information to get your developer started?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHubhttps://github.com/bullhorn/career-portal/issues/47#issuecomment-203612715

@jlukus Cloning the repo is making a copy of the code to edit yourself.  You will also be able to find the location of the README file here https://github.com/bullhorn/career-portal   At the bottom of the page it includes the steps to get started with building your own portal to test out.   The code is also documented really well to determine where you will make the required changes.
I will say though, a iframe can do a lot in terms of customization. Your developer will be able to add it to your site with relative ease.   An example implementation that is often shared is here.

Thanks for the help @bulbajackel! @jlukus if you have any more questions for us, please let us know. Otherwise, I'll mark this issue as closed.
Best of luck as you build out your Career Portal!

Thank you both for your help!


CI: update actions

@XhmikosR FYI: https://github.com/gruntjs/grunt-contrib-qunit/commit/fcf0dc15b1ced330c85959cec4d71772b4cc5698

grunt-contrib-internal does not yet have a version that provisions
CI with Node 18+ matrix, which has delayed/complicated changes in this
repo before as well so I'm going to opt-out from the contrib-ci
template enforcement for now. This seems to be common in half a dozen
other first-party grunt repos as well. [2]

@Krinkle feel free to cut a new major version of grunt-contrib-internal after the merge.
Generally speaking, this repo is supposed to cover most repos, not all of them, but one can always adapt the scripts on a per plugin basis.

@XhmikosR I don't have npm publishing rights for grunt-contrib-internal.